Python scrapy基礎教程(二)
歡迎加入學習交流QQ群:657341423
爬取一般網站常用的spider。其定義了一些規則(rule)來提供跟進link的方便的機制。 也許該spider並不是完全適合您的特定網站或專案。因此您可以以其為起點,根據需求修改部分方法。當然您也可以實現自己的spider。
也就是說spider是根據spider裡面的start_urls的url進行爬蟲的。但有時候我們爬取的url是帶有引數,或者需要登入了網站才能爬取資料的時候,這時候spider雖然能做到,但顯得有點乏力。
spider做法:直接看官方文件
for url in response.xpath('//a/@href').extract():
yield scrapy.Request(url, callback=self.parse)
實現方法就是通過start_urls獲取全部連結,然後用迴圈實現,但是遇到不同的連結,網頁內容肯定不一樣的,這時候就要做很多的判斷。這樣程式碼顯得臃腫。
CrawlSpider可以根據個人要求做到這個需求,說的白點就是,CrawlSpider就是靈活性高,可以任性一點。但CrawlSpider不會爬取start_urls這個連結的內容,只會根據rules篩選start_urls裡面的url,然後爬取這些url的內容
用法:根據上一教程,這裡只需修改spiders資料夾下的py檔案,這裡我新增一個py檔案,用於區別上一教程的
其他檔案無需修改。
程式碼
A:匯入包
B:設定rules內容,allow是設定start_urls這個網頁裡面符合條件的連結,deny是排除start_urls這個網頁含有條件的連結
C:callback就是指定的方法。
這段程式碼就是查詢start_urls這個網頁帶有shop而且不含有fr這個連結。
執行結果:
程式碼下載
擴充套件:Scrapy模擬登入
相關文章
- scrapy和scrapy-redis有什麼區別?Python基礎教程RedisPython
- Scrapy基礎(二): 使用詳解
- python 基礎之scrapy 原理練習Python
- scrapy 基礎
- Python基礎教程Python
- Python Scrapy 爬蟲(二):scrapy 初試Python爬蟲
- Python爬蟲之Scrapy學習(基礎篇)Python爬蟲
- 《Python基礎教程第二版》第二章-Python列表和元祖Python
- Python基礎教程.18214570Python
- Python Numpy基礎教程Python
- python基礎教程|菜鳥教程Python
- python程式設計基礎教程 第二季Python程式設計
- Python基礎面試題30問!Python基礎教程Python面試題
- 【莫煩】python基礎教程Python
- python-基礎教程-pprintPython
- Python基礎語法(二)Python
- Gurobi基礎教程(Python版)-系列教程2Python
- (Python基礎教程之七)Python字串操作Python字串
- Python基礎知識之二Python
- Python全棧開發-Python基礎教程-01Python全棧
- Python基礎教程該如何學習?Python
- Python基礎入門筆記(二)Python筆記
- Python基礎知識入門(二)Python
- 二、python安裝和基礎使用Python
- Python入門基礎知識(二)Python
- python基礎(二)—-資料型別Python資料型別
- 第二課 Python基礎語法Python
- 2020年Python基礎教程,Python快速入門教程(非常詳細)Python
- Python中常用模組有哪些?Python基礎教程Python
- Python教程分享之Python基礎知識點梳理Python
- Python3爬蟲(十八) Scrapy框架(二)Python爬蟲框架
- scrapy框架簡介和基礎應用框架
- 一、Python複習教程(重點)- 基礎Python
- python極簡教程01:基礎變數Python變數
- Python培訓基礎教程都教哪些Python
- Python爬蟲教程-33-scrapy shell 的使用Python爬蟲
- 零基礎入門Python教程4節與基礎語法Python
- Python字元編碼的常用種類!Python基礎教程Python字元
- (Python基礎教程之十二)Python讀寫CSV檔案Python