Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jsoup-无法按类名获取节点_Java_Ajax_Web Scraping_Jsoup - Fatal编程技术网

Java Jsoup-无法按类名获取节点

Java Jsoup-无法按类名获取节点,java,ajax,web-scraping,jsoup,Java,Ajax,Web Scraping,Jsoup,我正在尝试取消此链接: 但我有时会得到一个空集合,其中包含以下代码: String cur = http://www.soccerbase.com/tournaments/tournament.sd?tourn_id=1159; Document doc = Jsoup.connect(cur).get(); Elements table = doc.getElementsByClass("soccerContent"); System.out.println(table); 输出有时是空的,

我正在尝试取消此链接:

但我有时会得到一个空集合,其中包含以下代码:

String cur = http://www.soccerbase.com/tournaments/tournament.sd?tourn_id=1159;
Document doc = Jsoup.connect(cur).get();
Elements table = doc.getElementsByClass("soccerContent");
System.out.println(table);
输出有时是空的,我不知道为什么。但是,
doc.getElementsByTag(“div”)
始终有效。所以我想知道
getElementsByClass
是否已损坏

我已经在请求之间设置了1秒的间隔,并且它们的
robots.txt
没有说明任何关于
user\u agent
,所以黑名单应该不是问题

澄清:这些碎片是学校的项目,不是商业用途

编辑:

我发现问题是,由于某种原因,我的请求被重定向到另一个页面。如果我先在浏览器中打开页面,然后发送请求,它将返回所需页面,甚至不会尝试重定向我。有人能解释为什么会这样吗?谢谢


我有数百页要抓取,所以手动逐个打开可能不是最好的选择

通过执行XHR请求yourself@JEY嘿,事实证明AJAX不是问题所在。由于某种原因,该网站返回给我一个缓存版本。我已经更新了描述。你知道为什么会这样吗?谢谢。只需添加
缓存控制,无缓存
缓存存储,无存储
。Jsoup有
连接
类,它为您的请求指定头。如果有效,请告诉我。@lkerKorkut谢谢你的回复。我已经添加了标题,但是我无法测试它,因为还有另一个问题。以前对于那些未访问的页面,它只返回一个缓存页面,但现在它返回一个空页面(只返回基本
html
head
body
标记)。它的行为方式是带或不带标题。@lkerKorkut好的,现在行为正常……为什么它连续返回空页面仍然是个谜,但现在它返回一个页面,但仍然是缓存版本。这是我的codeL
Connection con=Jsoup.connect(url).header(“缓存控制”、“无缓存”).header(“缓存存储”、“无存储”)