Jsoup 库未解析给定 url 的完整 html。url的原始html中缺少一些部门。
有趣的事情: http://facebook.com/search.php?init=s: email&q=somebody@gmail.com&type=users
如果您在 Jsoup 的官方网站 http://try.jsoup.org/中提供上面提到 的 url,它通过获取正确地显示了 url 的确切 html,但是在使用 jsoup 库的程序中找不到相同的结果。
这是我的java代码:
String url="http://facebook.com/search.php?init=s:email&q=somebody@gmail.com&type=users";
Document document = Jsoup.connect(url).userAgent("Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36").get();
String question =document.toString();
System.out.println(" whole content: "+question);
清楚地提到了在他们的官方网站中使用的正确 userAgent,但结果,我可以看到 70% 的原始 html 代码,但在中间不知何故我找不到几个部门标签,这是我想要的数据。
我试过了……没用……为什么文档中缺少几个 div 标签。
您可以直接获取网址并将其放入浏览器中,如果您登录 facebook,您可以看到响应为:“未找到您的查询的结果。检查您的拼写或尝试其他术语。” 这就是我在 jsoup 解析上述 url 的 html 时要寻找的东西。
但不幸的是,这部分丢失了。实际上这个响应在 div id 中:“#pagelet_search_no_results”。我在解析的 html 中找不到具有此 id 的 div。我尝试了许多 jsoup 提供的方法,但没有运气。