scrapy 爬虫框架简介
命令行参数
启动一个新的爬虫项目
scrapy startproject smzdm
创建一个新的spider
scrapy genspider domain domain.com
在 spider 目录下创建domain 的文件,代码如下
进入命令行模式,直接爬取一个 url, 并返回结果对象
scrapy shell xxx-url
- 开始执行爬虫项目
scrapy crawl smzdm
, 必须在项目中执行语句 - 查看该项目中的具体爬虫有哪些
scrapy list
, 必须在项目中执行语句 - 直接打开编辑器修改某一个具体的 spider,
scrapy edit smzdm
, 必须在项目中执行语句 - 查看spider如何获取某个特定页面,排查爬虫看到的页面是否就是我们浏览器看到的页面,
scrapy view xxx-url
- 使用Scrapy下载器(downloader)下载给定的URL,并将获取到的内容送到标准输出,
scrapy fetch xxx-url
- 在未创建项目的情况下,运行一个编写在Python文件中的spider,
scrapy runspider xxx.py
- 查看 scrapy 版本,
scrapy version -v
, 配合 -v运行时,该命令同时输出Python, Twisted以及平台的信息
item
类似 flask 中的 model 模块,用来定义爬取下来的数据分类
1 | class SmzdmItem(scrapy.Item): |
spider
爬虫的主体,用来爬取 url, 并返回页面的数据对象,根据 xpath 来解析,默认使用 parse 方法来回调
1 | class MySpider(scrapy.Spider): |
pipeline
主要用来区分 parse 方法解析出来的数据,进行下一步的操作,比如说筛选,存入数据库等
1 | class SmzdmPipeline(object): |