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模擬登入
相關文章
- Python scrapy基礎教程(三)Python
- Python scrapy基礎教程(一)Python
- scrapy和scrapy-redis有什麼區別?Python基礎教程RedisPython
- Scrapy基礎(二): 使用詳解
- Python Django基礎教程(二)(模板templatetags)PythonDjango
- Python基礎教程Python
- Python Scrapy 爬蟲(二):scrapy 初試Python爬蟲
- Python爬蟲之Scrapy學習(基礎篇)Python爬蟲
- python 基礎教程第二版修訂版Python
- python 教程_【python 基礎教程詳解】Python
- python基礎教程|菜鳥教程Python
- Python Numpy基礎教程Python
- 《Python基礎教程第二版》第二章-Python列表和元祖Python
- Python基礎面試題30問!Python基礎教程Python面試題
- python程式設計基礎教程 第二季Python程式設計
- python-基礎教程-pprintPython
- 【莫煩】python基礎教程Python
- Python 基礎知識教程Python
- Python基礎語法(二)Python
- Gurobi基礎教程(Python版)-系列教程2Python
- Python Flask基礎教程(入門)PythonFlask
- Python基礎教程01 Hello World!Python
- Python基礎教程03 - 序列 (sequence)Python
- Python基礎教程06 - 迴圈Python
- Python基礎教程07 - 函式Python函式
- Python基礎教程04 運算Python
- 《Python基礎教程》小小有感Python
- Scrapy 教程
- Python基礎知識之二Python
- Python 快速教程(基礎篇02):基礎資料型別Python資料型別
- (Python基礎教程之七)Python字串操作Python字串
- Python基礎教程該如何學習?Python
- 1、python機器學習基礎教程——簡述Python機器學習
- Python 3基礎教程16-類Python
- Python Django基礎教程(五)(表單)PythonDjango
- Python Django基礎教程(一)(入門)PythonDjango
- Python基礎教程視訊集錦Python
- python基礎教程視訊下載Python