安装 scrapy
pip install scrapy
安装完成后,命令行就多了 scrapy 命令。
新建一个名为 imageproject 的项目:
scrapy startproject imageproject
scrapy 自动生成的文件结构如下:
scrapy.cfg
imageproject
__init.py
middlewares.py
pypipelines.py
settings.py
spiders/
__init.py
每个文件的作用是:
items.py:定义待抓取域的模型。
middlewares.py:控制请求和响应中间件。
pipelines.py:处理要抓取的域。
settings.py:一些设置,如用户代理、爬取延时等。
spiders/:该目录存储实际的爬虫代码。
scrapy.cfg:项目配置。
修改 setting.py
scrapy 的设置默认遵守 robots.txt,通常需要把此项设置改掉。
把 ROBOTSTXT_OBEY 设为 False。
# Obey robots.txt rules
ROBOTSTXT_OBEY = False
tems.py
Item 定义结构化数据字段,用来保存爬取到的数据,有点像 Python 中的 dict,但是提供了一些额外的保护减少错误。
import scrapy
class ImageItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
image_urls = scrapy.Field()
image = scrapy.Field()
制作爬虫,即创建 spiders/ 目录底下的代码
运行命令
scrapy genspider ab "ab.com"
这样 spiders/ 目录下会创建一个名为 ab.py 的爬虫脚本。
运行爬虫
scrapy crawler ab