這兩天學習了scrapy框架,它是一種專門用於爬蟲的框架。
在安裝完scrapy後,首先在命令列裡建立乙個專案:
建立好專案後,便可以看到scrapy的結構大概是這樣的:
第一步需要在items.py這個檔案裡設定爬取內容分成的各個屬性:
import scrapy
class dmozitem(scrapy.item):
# define the fields for your item here like:
# name = scrapy.field()
title = scrapy.field()
link = scrapy.field()
desc = scrapy.field()
第二步是在spiders這個資料夾下建立乙個py檔案用於編寫爬蟲模組內容:
import scrapy
from tutorial.items import dmozitem
class dmozspider(scrapy.spider):
name = 'dmoz'
allowed_domain = ['dmoz.net']
start_urls = [
'',''
]def parse(self, response):
# filename = response.url.split('/')[-2]
# with open(filename, 'wb') as f:
# f.write(response.body)
sel = scrapy.selector.selector(response)
sites = sel.xpath('//section/div/div/div/div[@class="title-and-desc"]')
items =
for site in sites:
item = dmozitem()
item['title'] = site.xpath('a/div/text()').extract()
item['link'] = site.xpath('a/@href').extract()
item['desc'] = site.xpath('div[@class="site-descr "]/text()').extract()
# print(title,link,desc)
return items
第三步,在命令列輸入 scrapy crawl dmoz 啟動爬蟲,執行結果為:
若要儲存至本地,則用 scrapy crawl dmoz -o items.json -t json命令即可。
Python爬蟲學習(七)Scrapy爬蟲框架詳解
engine從spider處獲得爬取請求 request engine將爬取請求 給scheduler,用於排程 engine從scheduler處獲得下乙個要爬取的請求 engine將爬取請求通過中介軟體傳送給 爬取網頁後,形成響應 response 通過中介軟體發給engine engine將收...
Mac python 搭建scrapy爬蟲框架
1 在mac上安裝好python3,以及相關元件 2 進入python3的虛擬環境 workon env3.7 3 安裝scrapy pip install scrapy 4 建立乙個scrapy專案 4.1選擇路徑專案路徑 cd users panstark pycharmprojects 4.2...
Python爬蟲 scrapy框架
開源的,對平台的爬蟲框架 舊版本 需要預先定義所需欄位 class myitem scrapy.item url scrapy.field 再將所需欄位填充 class myspier scrapy.spider defparse self,response return sudo apt inst...