最近開始學習爬蟲,接觸到了scrapy這個框架,簡直神器,也不用本身設置多進程啥的了,好用的飛起
看了挺多博客的介紹,感受崔慶才的文章寫得很清晰,特別是scrapy的原理,通俗易懂,想看的能夠移步到此處 ->css
對着官方的教程文檔,作一點本身的解析。官方文檔使用的是一個名人名言的網站,很適合練手。
廢話少說,開整html
創建項目框架
D:\netspider>scrapy startproject getquotes
項目創建好了以後,目錄如圖所示scrapy
其餘的文件先不用管,在spider這個文件夾中,創建爬蟲文件,myspider.py,包含代碼以下ide
import scrapy class myspider(scrapy.Spider): # 設置爬蟲名稱 name = "get_quotes" # 設置起始網址 start_urls = ['http://quotes.toscrape.com'] def parse(self, response): #使用 css 選擇要素進行抓取,若是喜歡用BeautifulSoup之類的也能夠 #先定位一整塊的quote,在這個網頁塊下進行做者、名言,標籤的抓取 for quote in response.css('.quote'): yield { 'author' : quote.css('small.author::text').extract_first(), 'tags' : quote.css('div.tags a.tag::text').extract(), 'content' : quote.css('span.text::text').extract_first() }
scrapy會默認先調用parse()函數進行url的request處理,由於parse()是scrapy的默認回調函數,須要覆寫它來進行適配咱們的抓取任務。函數
該網站的元素定位仍是很清晰的:
學習
運行結果以下:
網站
成功將做者,名言內容,標籤獲取到。ui
我的比較喜歡使用xpath進行定位,兩種方法均可以,有時候還須要結合使用。scrapy的基本使用方法就是這樣,下一篇寫一下循環獲取與數據保存。url