Python Scrapy框架:通用爬蟲之CrawlSpider用法簡(jiǎn)單示例
本文實(shí)例講述了Python Scrapy框架:通用爬蟲之CrawlSpider用法。分享給大家供大家參考,具體如下:
步驟01: 創(chuàng)建爬蟲項(xiàng)目
scrapy startproject quotes
步驟02: 創(chuàng)建爬蟲模版
scrapy genspider -t quotes quotes.toscrape.com
步驟03: 配置爬蟲文件quotes.py
import scrapy from scrapy.spiders import CrawlSpider, Rule from scrapy.linkextractors import LinkExtractor class Quotes(CrawlSpider): # 爬蟲名稱 name = "get_quotes" allow_domain = ['quotes.toscrape.com'] start_urls = ['http://quotes.toscrape.com/'] # 設(shè)定規(guī)則 rules = ( # 對(duì)于quotes內(nèi)容頁(yè)URL,調(diào)用parse_quotes處理, # 并以此規(guī)則跟進(jìn)獲取的鏈接 Rule(LinkExtractor(allow=r'/page/\d+'), callback='parse_quotes', follow=True), # 對(duì)于author內(nèi)容頁(yè)URL,調(diào)用parse_author處理,提取數(shù)據(jù) Rule(LinkExtractor(allow=r'/author/\w+'), callback='parse_author') ) # 提取內(nèi)容頁(yè)數(shù)據(jù)方法 def parse_quotes(self, response): for quote in response.css(".quote"): yield {'content': quote.css('.text::text').extract_first(), 'author': quote.css('.author::text').extract_first(), 'tags': quote.css('.tag::text').extract() } # 獲取作者數(shù)據(jù)方法 def parse_author(self, response): name = response.css('.author-title::text').extract_first() author_born_date = response.css('.author-born-date::text').extract_first() author_bron_location = response.css('.author-born-location::text').extract_first() author_description = response.css('.author-description::text').extract_first() return ({'name': name, 'author_bron_date': author_born_date, 'author_bron_location': author_bron_location, 'author_description': author_description })
步驟04: 運(yùn)行爬蟲
scrapy crawl quotes
更多相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家基于Scrapy框架的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python人工智能human?learn繪圖創(chuàng)建機(jī)器學(xué)習(xí)模型
這篇文章主要為大家介紹了python人工智能human?learn繪圖就可以創(chuàng)建機(jī)器學(xué)習(xí)模型的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11Python 使用SMTP發(fā)送郵件的代碼小結(jié)
python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對(duì)smtp協(xié)議進(jìn)行了簡(jiǎn)單的封裝,需要的朋友可以參考下2016-09-09基于Python第三方插件實(shí)現(xiàn)西游記章節(jié)標(biāo)注漢語(yǔ)拼音的方法
這篇文章主要介紹了基于Python第三方插件實(shí)現(xiàn)西游記章節(jié)標(biāo)注漢語(yǔ)拼音的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05python GUI庫(kù)圖形界面開發(fā)之PyQt5信號(hào)與槽事件處理機(jī)制詳細(xì)介紹與實(shí)例解析
這篇文章主要介紹了python GUI庫(kù)圖形界面開發(fā)之PyQt5信號(hào)與槽事件處理機(jī)制詳細(xì)介紹與實(shí)例解析,需要的朋友可以參考下2020-03-03Python3 SSH遠(yuǎn)程連接服務(wù)器的方法示例
這篇文章主要介紹了Python3 SSH遠(yuǎn)程連接服務(wù)器的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Python實(shí)現(xiàn)本地緩存的幾種方法小結(jié)
緩存是一種常見的技術(shù),用于存儲(chǔ)重復(fù)請(qǐng)求的結(jié)果,Python 作為一種靈活的編程語(yǔ)言,提供了多種實(shí)現(xiàn)本地緩存的方法,本文將探討 Python 中實(shí)現(xiàn)本地緩存的幾種策略,并提供具體的代碼示例,感興趣的小伙伴跟著小編一起來(lái)看看吧2024-07-07對(duì)Python生成漢字字庫(kù)文字,以及轉(zhuǎn)換為文字圖片的實(shí)例詳解
今天小編就為大家分享一篇對(duì)Python生成漢字字庫(kù)文字,以及轉(zhuǎn)換為文字圖片的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01Python 創(chuàng)建守護(hù)進(jìn)程的示例
這篇文章主要介紹了Python 創(chuàng)建守護(hù)進(jìn)程的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-09-09python簡(jiǎn)易實(shí)現(xiàn)任意位數(shù)的水仙花實(shí)例
今天小編就為大家分享一篇python簡(jiǎn)易實(shí)現(xiàn)任意位數(shù)的水仙花實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11