我想刮this website和刮所有这位作者的文章,与Python(响应库或硒库),并将它们放在PDF文件中。
然而,当我点击底部的按钮"Show More“时,8次之后,它不再显示更多的文章,因此我无法访问所有文章(我的想法是自动化selenium,单击它直到所有文章都显示出来,然后将它们全部抓取)。有解决办法吗?我可以按时间顺序访问所有文章并抓取它们的替代方法?
我的想法是以某种方式分析链接是否来自其他来源,但我一无所知。然而,我成功地抓取了那些显示的文章。
提前感谢!
发布于 2020-02-18 11:46:46
使用findElements搜索<h2 class="css-1j9dxys e1xfvim30">...</h2>
,它会给你一个所有书目的列表。每次单击“显示更多”时,列表的大小将增加10左右。所以这个想法是简单地点击按钮,直到列表的大小不变。使用while循环。类似于:
List<WebElements> oldList = Driver.findElements(by.cssSelector("h2.css-
1j9dxys.e1xfvim30"));
List<WebElements> newList = new ArrayList<>();
WebElement button = Driver.findElement(by.xpath("//button[text()='Show More']"));
while(newList.size!=oldList.size){
button.click();
newList = List<WebElements> newList = Driver.findElements(by.cssSelector("h2.css-
1j9dxys.e1xfvim30));
}
我可能在代码中有一些错误,但我的想法是存在的。祝好运!
https://stackoverflow.com/questions/60272885
复制相似问题