1. 引言
本文主要介绍如何使用Scrapy结合PhantomJS采集天猫商品内容,文中自定义了一个DOWNLOADER_MIDDLEWARES,用来采集需要加载js的动态网页内容。看了很多介绍DOWNLOADER_MIDDLEWARES资料,总结来说就是使用简单,但会阻塞框架,所以性能方面不佳。一些资料中提到了自定义DOWNLDOWNLDODOWNLOADER_HANDLER或使用scrapyjs可以解决阻塞框架的问题,有兴趣的小伙伴可以去研究一下,这里就不多说了。
2. 具体实现
2.1. 环境需求
需要执行以下步骤,准备Python开发和运行环境:
Python--官网下载安装并部署好环境变量 (本文使用Python版本为3.5.1)
lxml-- 官网库下载对应版本的.whl文件,然后命令行界面执行 "pip install .whl文件路径"
Scrapy--命令行界面执行 "pip install Scrapy",详细请参考《Scrapy的第一次运行测试》
selenium--命令行界面执行 "pip install selenium"
PhantomJS -- 官网下载
上述步骤展示了两种安装:1,安装下载到本地的wheel包;2,用Python安装管理器执行远程下载和安装。注:包的版本需要和python版本配套
2.2. 开发和测试过程
首先找到需要采集的网页,这里简单找了一个天猫商品,网址world.t