一苍糠、Scrapy是什么
百度是這么說的:
1雅镊、Scrapy左刽,Python開發(fā)的一個快速捺信、高層次的屏幕抓取和web抓取框架,用于抓取web站點并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)欠痴。Scrapy用途廣泛迄靠,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動化測試
其實說白了Scrapy就是Python網(wǎng)絡(luò)爬蟲的一個很強的框架
2喇辽、怎么安裝Scrapy...
這個先略過不懂的自己先百度去掌挚,因為里面的坑比較多
3、看看scrapy的原理圖 :
Scrapy使用了Twisted異步網(wǎng)絡(luò)庫來處理網(wǎng)絡(luò)通訊
注明:圖片來源于互聯(lián)網(wǎng)
(1)菩咨、Scrapy Engine(Scrapy引擎)
Scrapy引擎是用來控制整個系統(tǒng)的數(shù)據(jù)處理流程吠式,并進行事務(wù)處理的觸發(fā)。更多的詳細內(nèi)容可以看下面的數(shù)據(jù)處理流程抽米。
(2)特占、Scheduler(調(diào)度)
調(diào)度程序從Scrapy引擎接受請求并排序列入隊列,并在Scrapy引擎發(fā)出請求后返還給他們云茸。
(3)是目、Downloader(下載器)
下載器的主要職責(zé)是抓取網(wǎng)頁并將網(wǎng)頁內(nèi)容返還給蜘蛛( Spiders)。
(4)标捺、Spiders(蜘蛛)
蜘蛛是有Scrapy用戶自己定義用來解析網(wǎng)頁并抓取制定URL返回的內(nèi)容的類懊纳,每個蜘蛛都能處理一個域名或一組域名。換句話說就是用來定義特定網(wǎng)站的抓取和解析規(guī)則亡容。
原理圖大家看看大概可以理解就行
二嗤疯、Scrapy創(chuàng)建項目
里面的命令都很清晰吧
scrapy startproject xxx
xxx表示爬蟲的名字:
這個是它的結(jié)構(gòu)創(chuàng)建成功之后會自動生成的一些配置和spider文件
scrapy shell http://www.baidu.com
200表示請求數(shù)據(jù)成功
三、開始爬取豆瓣top250
我們要獲取的數(shù)據(jù)這個<div class="article"></div>標(biāo)簽里面
可以用xpath或者CSS都可以,我用的是xpath解析數(shù)據(jù)萍倡,可以自己去下載一個xpath helper然后拖到Google瀏覽器里面去
1)新建douban
2)定義items
3)xapth解析數(shù)據(jù)
如何運行這個爬蟲身弊?命令行:
scrapy crawl douban_spider
也可以這樣子
最后附上一張圖
下一篇文章告訴大家怎么把爬取的數(shù)據(jù)保存為TXT或者json數(shù)據(jù)和MySQL里面去