我编写了一个使用Jsoup(1.11.2)从特定URL解析HTML的函数,请参见下面的代码。
我有一些操作系统问题:
在Windows 10上,它运行正常,但是在Linux上执行时,我无法获得全部内容。有人可以解释为什么我得到不同的结果吗?
public Document getJsoup(){
Document doc = null;
String url = "http://www.fakenamegenerator.com/advanced.php?t=country&n[]=IT&c[]=IT&gen=50&age-min=18&age-max=50";
try {
doc = Jsoup.connect(url)
.userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36")
.get();
System.out.println(url);
} catch (IOException ex) {
// error handling
}
return doc;
}
更新
OSX的结果与Windows相同,只有linux似乎有问题
最佳答案
我可以使用以下代码片段在Linux上检索整个页面(包括详细信息/配置文件部分):
try {
Document document = Jsoup.connect(url);
Element criteria = document.getElementById("criteria");
Element details = document.getElementById("details"); //the profile you're talking about
} catch (IOException e) {
e.printStackTrace();
}
一些观察:
我没有指定任何userAgent详细信息
jsoup版本是1.10.2
JDK版本是9.0.1
更新:
我能够在Windows和OS X(不同的JDK-8和9)上测试代码,它返回的结果与Linux中返回的结果完全相同。