(转)scrapy结合webkit抓取js生成的页面
1 scedule
scrapy 作为抓取框架,包括了spider,pipeline基础设施
2 webkit
scrapy 本身不能作为js engine,这就导致很多js生成的页面的数据会无法抓取到,因此,一些通用做法是webkit或者xmi_runner(firefox)。通过这个手段可以对于js生成的数据进行抓取。需要安装的包有
python-webkit (相关依赖自行解决)
Xvfb (用于非Xwindow环境)
3 开发downloader middleware
#which spider should use WEBKITWEBKIT_DOWNLOADER=['ccb']?DOWNLOADER_MIDDLEWARES = { 'rate_crawler.dowloader.WebkitDownloader': 543,} ?import osos.environ["DISPLAY"] = ":0"5 使用
启动 Xvfb (假设DISPLAY=:0)
要与settings.py中的DISPLAY对应(本例中是:0)。
scrapy crawl xxx