Python爬蟲 Scrapy框架

2021-09-26 04:49:11 字數 1594 閱讀 5443

這兩天學習了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...