Scrapy框架基礎(三)

2021-10-08 06:59:48 字數 1699 閱讀 9296

7.scrapy管道的使用

7.1 pipeline中常用的方法

open_spider(self, spider):在爬蟲開啟的時候僅執行一次

close_spider(self, spider):在爬蟲關閉的時候僅執行一次

7.2 在settings中能夠開啟多個管道,為什麼需要開啟多個?

7.3 pipeline使用注意點

8.scrapy的crawlspider爬蟲

8.1 srawlspider是什麼

思路:

對應的crawlspider就可以實現上述需求,能夠匹配滿足條件的url位址,組裝成reqeust物件後自動傳送給引擎,同時能夠指定callback函式

即:crawlspider爬蟲可以按照規則自動獲取連線

8.2 建立crawlspider爬蟲並觀察爬蟲的預設內容

4.crawlspider使用的注意點:

5.了解crawlspder其他知識點

rule常見引數

process_links:當鏈結提取器linkextractor獲取到鏈結列表的時候呼叫該引數指定的方法,這個自定義方法可以用來過濾url,且這個方法執行後才會執行callback指定的方法

9.scrapy中介軟體的使用

9.1 scrapy中介軟體的分類和作用

根據scrapy中介軟體的作用:預處理reqeust和response物件

但在scrapy預設的情況下,兩種中介軟體都在middlewares.py乙個檔案中

********** middlewares預設的方法:

process_response(self, request, response ,spider)

3.返回request:通過引擎交給排程器繼續請求,此時將不再通過其他權重值低的process_request方法

在settings.py中配置開啟中介軟體,權重值越小越優先執行

11.隨機請求頭

5.在settings.py檔案中**********_middlewares 把新的類名更改上

6.重新執行

12.隨機ip**

12.1 **ip的使用

使用2.在middlewares.py檔案中新建類

3.在settings.py檔案中**********_middlewares 把新的類名更改上

4.重新執行

13.在中介軟體中使用selenium——動態渲染

class

seleniummiddleware

(objcet)

:def

process_request

(self, request, spider)

: url = request.url

if'daydata'

in url:

driver webdriver.chrome(

)

driver.get(url)

time.sleep(3)

data = driver.page_source

driver.close(

)# 建立響應物件

res = htmlresponse(url=url, body=data, encoding=

'utf-8'

, request=reqeust)

return res

Scrapy框架基礎(一)

1.scrapy的概念 scrapy是乙個python編寫的開源網路爬蟲框架。它是乙個被設計用於爬取網路資料 提取結構效能資料的框架。2.scrapy框架的作用 少量的 就能夠實現快速的抓取 3.scrapy的工作流程 1.爬蟲中的起始url構造成request物件 爬蟲中介軟體 引擎 排程器 4....

Scrapy框架基礎使用

1 流程框架 2 在命令列中輸入scrapy,會有scrapy常見命令引數 在命令中輸入scrapy startproject quote建立乙個叫quote的專案 cd到建立好的專案目錄中,然後執行scrapy genspider quotes quotes.toscrape.com,建立spid...

scrapy爬蟲框架 三

pipelines.py from scrapy.exporters import jsonitemexporter class qsbkspiderpipeline object def init self 初始化方法 使用二進位制來寫入,因此 w wb self.fp open duanzi2....