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....