Scrapy基本命令
1. help:scrapy的基本命令,用于查看帮助信息
列:scrapy -help
2. version: 查看版本信息,可见-v参数查看各组件的版本信息
列:scrapy version –v
3. startproject:用于创建一个工程,并创建一个完整的工程目录
列:scrapy startproject name
4. genspider
在工程中产生一个spider
可产生多个spider,不同的spider要求name不同
列:scrapy genspider name(爬虫名) kgc.com(爬取的域名)
5. list:查看本工程中有哪些spider(爬虫)
列:scrapy list
6. view:查看你所或得的页面源码在浏览器中显示的样子
列:scrapy view http://kgc.cn/
7. parse: 判断我们写的parse是否有正确
列:scrapy parse http://kgc.cn/
8. shell: 进入python的交互式环境中
列; shell
9. runspider: 运行自包含的爬虫
列:scrapy runspiderspider.py(爬虫文件)
10. bench: 执行一个基准的测试,用来检测Scrapy是否安装成功
列: scrapy bench
Spider
1. 基本介绍:
a) 概念
Spider是一个类,它定义了怎样爬取一个网站, 包括怎样去跟踪连接、包括提取数据
b) 循环执行流程
Generating the initial Requests (根据初始的url去产生一些request)
Parse the response(然后去解析这些request产生的response)
Using selector (接着用selector抽取器抽取想要的内容)
Store item (对抽取到的内容进行存储)
2. 基类(scrapy.Spider)介绍
a) 属性
name:spider的名称,要求唯一
allowed domanins:允许的域名
start_urls:初始urls
custom_settings:个性化设置,会覆盖全局的设置
crawler:抓取器,spider将绑定到它上面
settings:配置实例,包含工程中所有的配置变量
logger:日志实例
b) 方法
from_crawler(crawler,*args,**kwargs):类方法,用于创建spider
start_requests():生成初始的requests
make_requests_from_url(url):根据url生成一个request
parse(response):用来解析网页内容
log(message [ , level,component]):用来记录日志,这是请使用logger属性记录日子
self.logger.info(‘visitedsuccess’)
closed(reason):当spider关闭的时候调用的方法
c) 子类介绍
CrawlSpider
1. 最常用的spider,用于抓取普通的网页
2. 增加了两个成员
1. rules:定义了一些抓取规则—连接怎么跟踪、使用哪一个parse函数解析次连接
2. parse_start_url(response):解析初始url的响应
XMLFeedSpider :解析xml
CSVFeedSpider:解析CSVfeed
SitemapSpider:解析sitemap
Selector
用来解析网页的库有很多,比如beautifulsoup、xml,但在Scrapy里面默认使用的是selector,相对来说㛑算是最好用的
Items
定义属性
ItemPipelines
a) 作用
i. 清洗HTML数据
ii. 去验证你所抓取到的数据
iii. 去核查是否有重复的数据
iv. 去存储你所抓取到的数据到数据库当中
b) 编写方法
c) 配置方法
Feed Exports
存储你所抓取到的数据,格式有json、CSV、xml等等