Scrapy框架學習

2021-09-25 07:55:59 字數 1775 閱讀 7674

scrapy框架的工作流程:

1.首先spiders(爬蟲)將需要傳送請求的url(requests)經scrapyengine(引擎)交給scheduler(排程器)。

2.scheduler(排序,入隊)處理後,經scrapyengine,**********middlewares(可選,主要有user_agent, proxy**)交給**********。

4.spiders處理response,提取資料並將資料經scrapyengine交給itempipeline儲存(可以是本地,可以是資料庫)。

提取url重新經scrapyengine交給scheduler進行下乙個迴圈。直到無url請求程式停止結束。

scrapy入門

1,建立乙個scrapy專案

scrapy startproject myspider

2,生成乙個爬蟲

scrapy genspider itcast 「itcast.cn」

3,提取資料

完善spider,使用xpath等方法

4,儲存資料

pipeline中儲存資料

示例:itcast.py

import scrapy

class

itcastspider

(scrapy.spider)

: name =

'itcast'

allowed_domains =

['itcast.cn'

] start_urls =

['']def

parse

(self, response)

:#ret1 = response.xpath("//div[@class='tea_con']//h3/text()").extract()

#print(ret1)

#分組 li_list = response.xpath(

"//div[@class='tea_con']//li"

)for li in li_list:

item =

item[

"name"

]= li.xpath(

".//h3/text()"

).extract()[

0]item[

"title"

]= li.xpath(

".//h4/text()"

).extract()[

0]#print(item)

yield item #傳給pipelines.py,需要在setting中開啟

配置setting

item_pipelines =

#優先順序後面跟的數字較小先執行

pipelines.py

class

myspiderpipeline

(object):

defprocess_item

(self, item, spider)

: item[

"hello"]=

"world"

#print(item)

return item

class

myspiderpipeline1

(object):

defprocess_item

(self, item, spider)

:print

(item)

return item

Scrapy爬蟲框架學習

目錄 五大模組 spider itempipeline schedule engine 四個配置引數 三個物件 常用屬性 常用方法 response 常用屬性 常用方法 item 兩類中介軟體 middleware spidermiddleware 解析html,產生爬取請求和資料 流水線處理資料,...

Scrapy框架學習筆記

在pycharm中新建乙個專案kwscrapyspider 2.file setting python interpreter安裝scrapy 開啟terminal,執行命令 scrapy startproject kwspider 建立scrapy專案 cd kwspider scrapy gen...

爬蟲學習 Scrapy框架學習(四)

接之前的部落格內容 1 建立乙個工程和spider模板 2 編寫spider 3 編寫item pipeline 4 優化配置策略 1 reqeust類 向網路中提交請求的內容 request物件表示乙個http請求 由spider生成,由 執行 屬性或方法 說明 url request對應的請求u...