scrapy selenium phantomJS动态网页爬虫

目前phantomJS已经停止更新了,最新的selenium包在调用phantomJS时也发出了警告,说不再支持phantomJS了,可以用headless参数调用其他浏览器替代phantomJS。但是这个隐藏浏览器确实好用,况且也支持Windows,Linux,macOS。

下面给出一个通用的middleware,使得scrapy能够调用phantomJS实现动态网页爬虫。

middlewares.py

其中js是浏览器中要进行的操作。

js = "var q=document.documentElement.scrollTop=10000" 这个目的是将页面滑到浏览器最底端

如果页面是动态加载,即页面持续变长,没有底部的(如知乎),可以使用如下代码(250是预设的一个值):

settings.py

在DOWNLOADER_MIDDLEWARES中添加:

最前面的项目名称需要改动

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注