python抓取动态网页(越来越多的人热衷于做网络爬虫的配置及配置 )
优采云 发布时间: 2021-09-13 11:15python抓取动态网页(越来越多的人热衷于做网络爬虫的配置及配置
)
现在越来越多的人热衷于做网络爬虫,越来越多的地方需要网络爬虫,比如搜索引擎、news采集、舆情监测等,网络爬虫所涉及的技术(算法) /策略)是广泛而复杂的,例如网页获取、网页跟踪、网页分析、网页搜索、网页评级和结构/非结构化数据提取,以及后来更细粒度的数据挖掘。对于新手来说,不可能一蹴而就。对于完全掌握、精通应用的作者来说,作者在文章文章中解释清楚就更难了。 scrapy 框架只能抓取静态网站。如果要爬取动态网站,还必须使用selenium进行js渲染才能获取动态加载的数据。
如何使用 selenium 来请求 url 而不是使用 Downloader 来请求这个 url?
方法:当请求对象经过中间件后,开始使用中间件内部的selenium来请求url,会获取url对应的源码,然后通过response对象返回源码,直接给process_response () 进行处理,交给引擎处理。过程中省略了process_request()和Downloader,相当于后续的中间件。
相关配置:
在1、scrapy环境中安装selenium:pip install selenium
2、确保python环境中有phantomJS(无头浏览器)
selenium 的主要操作是下载中间件部分,如下图:
代码如下
middlewares.py 代码:
注意:使用selenium自定义下载中间件! !
下图是自定义下载中间件对应的替换代码
taobao.py的代码如下:
settings.py的代码如下: