scrapy
rapy的安装:pip install scrapy
创建scrapy的项目: scrapy startproject myspider
创建scrapy爬虫:在项目目录下执行 scrapy genspider itcast itcast.cn
运行scrapy爬虫:在项目目录下执行 scrapy crawl itcast -o a.json/a.jl(一行,没有中括号)
检查代码: scrapy check
查看当前查重列表:scrapy list
保存打开:scrapy view 网址
pip:设置数据库,数据处理,清洗,去重
midd:修改状态码,异常处理,改写请求,重新发起请求
解析并获取scrapy爬虫中的数据:
response.xpath方法的返回结果是一个类似list的类型,其中包含的是selector对象,操作和列表一样,但是有一些额外的方法
extract() 返回一个包含有字符串的列表
extract_first() 返回列表中的第一个字符串,列表为空没有返回None
scrapy管道的基本使用:
完善pipelines.py中的process_item函数
在settings.py中设置开启pipeline
scrapy.Request的更多参数
scrapy.Request(url[,callback,method="GET",headers,body,cookies,\
meta,dont_filter=False])
参数解释
- 中括号中的参数为可选参数
- callback:表示当前的url的响应交给哪个函数去处理
- meta:实现数据在不同的解析函数中传递,meta默认带有部分数据,比如下载延迟,请求深度等
- dont_filter:默认为False,会过滤请求的url地址,即请求过的url地址不会继续被请求,对需要重复请求的url地址可以把它设置为Ture,比如贴吧的翻页请求,页面的数据总是在变化;start_urls中的地址会被反复请求,否则程序不会启动
- method:指定POST或GET请求
- headers:接收一个字典,其中不包括cookies
- cookies:接收一个字典,专门放置cookies
- body:接收一个字典,为POST的数据
Scrapy设置Settings
见:https://www.jianshu.com/p/df9c0d1e9087