1. 引言
Scrapy框架结构清晰,基于twisted的异步架构可以充分利用计算机资源,是爬虫做大的必备基础。本文将讲解如何快速安装此框架并使用起来。
2. 安装Twisted
2.1 同安装Lxml库
2.2 安装twisted
打开命令提示符窗口,输入命令:
pipinstallE:demoTwisted-16.4.1-cp35-cp35m-win_amd64.whl(下载好的twisted模块的whl文件路径)
3. 安装scrapy
twisted库安装成功后,安装scrapy就简单了,在命令提示符窗口直接输入命令: pip install scrapy 回车
安装关联模块pypiwin32,在命令提示符窗口直接输入命令: pip install pypiwin32 回车
4. Scrapy测试,敲一个基于Scrapy框架的爬虫程序
新建一个Scrapy爬虫项目fourth:在任意目录按住shift+右键->选择在此处打开命令提示符窗口(这里默认为E:demo),然后输入命令:
E:demo>scrapy startproject fourth
该命令将会创建包含下列内容的fourth目录:
修改项目配置文件settings.py,有些网站会在根目录下放置一个名字为robots.txt的文件,里面声明了此网站希望爬虫遵守的规范,Scrapy默认遵守这个文件制定的规范,即ROBOTSTXT_OBEY默认值为True。在这里需要修改ROBOTSTXT_OBEY的值,找到项目目录(这里为:E:demofourthfourth)下文件settings.py,更改ROBOTSTXT_OBEY的值为False
引入Gooseeker最新规则提取器模块gooseeker.py(下载地址: https://github.com/FullerHua/gooseeker/tree/master/core),拷贝到项目目录下,这里为E:demofourthgooseeker.py
创建爬虫模块,进入项目目录E:demofourth下,在此处打开命提示符窗口输入命令:
E:demofourth>scrapy genspider anjuke'anjuke.com'
该命令将会在项目目录E:demofourthfourthspiders下创建模块文件anjuke.py,以记事本打开然后添加代码,主要代码:
启动爬虫,进入项目目录E:demofourth下,在此处打开命提示符窗口输入命令:
E:demofourth>scrapy crawl anjuke
注:网站若发现抓取时报重定向错误了,尝试修改user-agent后,再启动爬虫爬取数据。操作步骤如下:
1、在爬虫项目目录(这里为E:demofourthfourth)下创建模块文件middlewares.py,以记事本打开后,添加如下代码:
2、修改项目配置文件settings.py,加上如下代码:
查看保存结果文件,进入Scrapy爬虫项目目录,这里为E:demofourth,找到名称为anjuke-result.xml的文件夹然后打开