我想解析一个Twitter列表(例如。https://twitter.com/spdbt/lists/spd-bundestagsabgeordnete/members)使用JSoup。我的问题是,页面是动态的,即我只从页面中得到前20个结果。JSoup有没有办法获取整个页面?
目前,我的代码如下:
Document doc = Jsoup.connect(listAdress).get();
Elements usernames = doc.select(".username.js-action-profile-name");
Elements realNames = doc.select(".fullname.js-action-profile-name");
// iterate over usernames and realNames and do something
提前感谢!
一些变通方法可以实现这个
- 使用Selenium启动具有上述URL的浏览器
- 完全加载页面
- 使用Selenium方法获取页面源
- 将此内容传递给JSOUP
- 分析一下
逻辑
WebDriver driver = new FirefoxDriver();
driver.get("https://twitter.com/spdbt/lists/spd-bundestagsabgeordnete/members")
//some logic to scroll or you do it manually
String pageContent = driver.getPageSource();
Document doc = Jsoup.parse(pageContent);
//from here write your logic to get the required values
通过使用Twitter库最终解决了问题,但感谢您的帮助。