1、Scrapy基本命令
scrapy startproject xxx #创建工程
scrapy genspider aaa aaa.com #创建名为aaa的spider爬取aaa.com
scrapy view http://www.163.com #查看网页源代码
scrapy shell http://www.163.com #解析网页
其中scrapy shell命令可以进入交互式环境进行代码测试
例如进行response.xpath('...')
测试
使用text()获得文字内容
scrapy bench #测试scrapy安装是否成功
2、scrapy重要组件
基类(scrapy.Spider)
基类的子类
CrawlSpider
XMLFeedSpider
CSVFeedSpider
SitemapSpider
其中CrawlSpider是最常用的基类,它有两个成员
1、rules:定义了一些抓取规则
2、parse_start_url(response):解析初始url
参考地址:https://doc.scrapy.org/en/1.2/topics/spiders.html
Selector
对文本内容
<head>
<base href='http://example.com/' />
<title>Example website</title>
</head>
<body>
<div id='images'>
<a href='image1.html'>Name: My image 1 <br />![](image1_thumb.jpg)</a>
<a href='image2.html'>Name: My image 2 <br />![](image2_thumb.jpg)</a>
<a href='image3.html'>Name: My image 3 <br />![](image3_thumb.jpg)</a>
<a href='image4.html'>Name: My image 4 <br />![](image4_thumb.jpg)</a>
<a href='image5.html'>Name: My image 5 <br />![](image5_thumb.jpg)</a>
</div>
</body>
</html>```
Scrapy中使用selector作为默认解析器,在selector中常用的抽取方法有
1、xpath
>response.xpath('//title/text()')
2、css
> response.css('img').xpath('@src').extract()
得到的内容
```[u'image1_thumb.jpg',
u'image2_thumb.jpg',
u'image3_thumb.jpg',
u'image4_thumb.jpg',
u'image5_thumb.jpg']```
3、re
4、extract
得到相应的内容
https://doc.scrapy.org/en/1.2/topics/selectors.html
##Items
设计想要存储的结构化数据
https://doc.scrapy.org/en/1.2/topics/items.html
##Item Pipeline
对数据进行处理
https://doc.scrapy.org/en/1.2/topics/item-pipeline.html
##Feed exports
进行输出
例如在settings.py中,则输出为csv文件
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/2744623-7c4e330f39eb6c41.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
https://doc.scrapy.org/en/1.2/topics/feed-exports.html