一、准备工作
1.安装splash
在windows环境下,splash可通过docker进行安装,安装方法在 这篇文章 中有详细讲解,在此不再赘述。
安装完成后在powershell
中运行以下命令安装splash:
1 | 从docker hub下载相关镜像文件 |
使用docker
启动服务命令启动Splash服务,在8050、8051、5023端口开启splash服务:
1 | 启动splash服务,并通过http,https,telnet提供服务 |
在浏览器中输入localhost:8050查看服务启动情况:
2.安装scrapy-splash
使用pip安装scrapy-splash:
1 | pip install scrapy-splash |
完成以上步骤之后就可以在scrapy中使用splash了
二、编写爬虫
动态页面中的部分内容是浏览器运行页面中的javascript脚本生成的,相较于普通静态页面,爬取难度更大。以网站 http://quotes.toscrape.com/js/为例,爬取动态生成的名人名言信息。
在项目文件settings.py中配置scrapy-splash:
1 | #定义splash服务器地址 |
编码实现:
1 | # -*- coding: utf-8 -*- |
执行结果:
1 | 2018-02-14 15:17:31 [scrapy.core.scraper] DEBUG: Scraped from <200 http://quotes.toscrape.com/js/> |
结果显示我们已成功爬取动态生成的名人名言信息。