1 Selenium实现动态页面爬取
1.1 安装python 支持的Selenium库
pip install selenium
1.2 安装浏览器驱动程序
chromedriver 的下载地址:https://chromedriver.storage.googleapis.com/index.html 或者 http://npm.taobao.org/mirrors/chromedriver/。 下载符合自己的版本即可。
下载及解压后将 chromedriver.exe 文件放在python 目录下(例如:C:\Program Files\Python37)
1.3 项目实例
实现项目时与普通的爬虫项目基本一样,只不过爬取页面时使用 selenuum 的语法,并且需要实现下载器中间件(例如:xxxDownloaderMiddleware), 实现后在settings.py 文件中启用该文件即可。
2 Splash实现动态页面爬取
Selenium极大地方便了动态页面的数据提取,但是它需要操作浏览器,无法实现异步和大规模页面的爬取需求。使用Splash就可以解决上述问题。
在使用Splash前,需要安装以下3个工具或模块。
- Splash:一个JavaScript的渲染服务,带有HTTP API的轻量级Web浏览器。
- Docker:一种容器引擎,Splash需要在Docker中安装和运行。
- Scrapy-Splash:实