標籤:.json des sch back return 分享 python爬蟲 sources ide
將該導航網站搜尋出結果的頁面http://www.dmoz.org/Computers/Programming/Languages/Python/Books/裡面標題,及標題的超連結和描述爬下來。
使用scrapy抓取一個網站一共需要四個步驟。
---建立一個scrapy項目
---定義item容器
---編寫爬蟲
---儲存內容
1.建立一個項目
scrapy startproject demoscrapy
2.定義item容器(定義要爬取的內容)
3.編寫爬蟲(這裡以官網的教程為例子)
import scrapyclass Dmos_spider(scrapy.Spider): name = ‘dmoz‘ #爬蟲的名字 allowed_domains = [‘dmoz.org‘] #爬蟲允許網域名稱範圍 start_urls = [ ‘http://www.dmoz.org/Computers/Programming/Languages/Python/Books/‘, #爬取的頁面 ‘http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/‘ ]
4.儲存內容
import scrapyfrom demoscrapy.items import DemoscrapyItemclass Dmos_spider(scrapy.Spider): name = ‘dmoz‘ allowed_domains = [‘dmoz.org‘] start_urls = [ ‘http://www.dmoz.org/Computers/Programming/Languages/Python/Books/‘, ‘http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/‘ ] def parse(self,response): #處理爬去結果 sel = scrapy.selector.Selector(response) items = [] sites = sel.xpath(‘//*[@id="site-list-content"]/div/div[3]‘) #通過xpath處理頁面節點 for site in sites: item = DemoscrapyItem() item[‘title‘] = site.xpath(‘a/div/text()‘).extract() item[‘link‘] = site.xpath(‘a/@href‘).extract() item[‘desc‘] = site.xpath(‘div/text()‘).extract() items.append(item) return items
scrapy crawl dmoz -o items.json -t json
-o 輸出檔案 -t 以json格式儲存
注*在儲存的時候,要通過xpath抓取想要的資料。
google瀏覽器有xpath外掛程式可以安裝下。
更詳細的xpath教程
http://www.w3school.com.cn/xpath/index.asp
python爬蟲架構scrapy初試(二)