我想从动态网页中检索HTML数据,例如公共Facebook页面:https://www.facebook.com/bbcnews/(公共内容,无需登录)
例如,在此页面中,我们有无限的滚动,我们必须转到页面底部才能加载更多帖子。
我当前的代码在这里:
URL url = new URL("https://www.facebook.com/bbcnews/");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
BufferedWriter writer = new BufferedWriter(new FileWriter("path"));
while ((line = reader.readLine()) != null) {
writer.write(line);
}
此代码仅检索页面的第一部分。
如何通过无限滚动来检索网页的更多内容?
谢谢。
答案 0 :(得分:0)
您不会通过简单的BufferedReader
来查看HTTP流来实现这一点。打开浏览器控制台,然后到达页面末尾。您会看到向此URL触发了XHR调用(异步请求):
https://www.facebook.com/pages_reaction_units
带有很多的隐秘请求参数。您需要在Java代码中执行这种调用。由于某些原因,它被混淆了。从头开始完成它似乎不是一个好方法。
最好使用an API provided by Facebook(也许是API Graph)。