1蔗坯、Scrapy基本命令
scrapy startproject xxx #創(chuàng)建工程
scrapy genspider aaa aaa.com #創(chuàng)建名為aaa的spider爬取aaa.com
scrapy view http://www.163.com #查看網(wǎng)頁(yè)源代碼
scrapy shell http://www.163.com #解析網(wǎng)頁(yè)
其中scrapy shell命令可以進(jìn)入交互式環(huán)境進(jìn)行代碼測(cè)試
例如進(jìn)行response.xpath('...')
測(cè)試
使用text()獲得文字內(nèi)容
scrapy bench #測(cè)試scrapy安裝是否成功
2康震、scrapy重要組件
基類(scrapy.Spider)
基類的子類
CrawlSpider
XMLFeedSpider
CSVFeedSpider
SitemapSpider
其中CrawlSpider是最常用的基類,它有兩個(gè)成員
1宾濒、rules:定義了一些抓取規(guī)則
2腿短、parse_start_url(response):解析初始url
參考地址:https://doc.scrapy.org/en/1.2/topics/spiders.html
Selector
對(duì)文本內(nèi)容
<head>
<base />
<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作為默認(rèn)解析器,在selector中常用的抽取方法有
1绘梦、xpath
>response.xpath('//title/text()')
2橘忱、css
> response.css('img').xpath('@src').extract()
得到的內(nèi)容
```[u'image1_thumb.jpg',
u'image2_thumb.jpg',
u'image3_thumb.jpg',
u'image4_thumb.jpg',
u'image5_thumb.jpg']```
3、re
4卸奉、extract
得到相應(yīng)的內(nèi)容
https://doc.scrapy.org/en/1.2/topics/selectors.html
##Items
設(shè)計(jì)想要存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù)
https://doc.scrapy.org/en/1.2/topics/items.html
##Item Pipeline
對(duì)數(shù)據(jù)進(jìn)行處理
https://doc.scrapy.org/en/1.2/topics/item-pipeline.html
##Feed exports
進(jìn)行輸出
例如在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