CrawlSpider獲取微信小程序教程內(nèi)容并且實(shí)現(xiàn)分頁(yè)功能

crawlSpider是根據(jù)鏈接提取器來(lái)獲取具體頁(yè)面數(shù)據(jù)


在普通的scrapy爬蟲(chóng)中,parse函數(shù)提前完當(dāng)前頁(yè)面數(shù)據(jù)之后

獲取下一頁(yè)數(shù)據(jù)調(diào)用parse解析函數(shù),重新進(jìn)行發(fā)送請(qǐng)求

crawlSpider實(shí)際上可以理解為:鏈接提取器 從鏈接中能夠獲取具體數(shù)據(jù)

crawlSpider則是通過(guò)正則表達(dá)式進(jìn)行匹配只要是滿足某個(gè)等待的url都會(huì)對(duì)具體數(shù)據(jù)進(jìn)行爬取

增加了可以爬取數(shù)據(jù)的新的規(guī)則只要是滿足該規(guī)則就會(huì)對(duì)數(shù)據(jù)進(jìn)行提取,就是替代了scrapy.Request

創(chuàng)建爬蟲(chóng)項(xiàng)目 python -m scrapy startproject project_name

創(chuàng)建crawl爬蟲(chóng) python -m scrapy genspider spider_name url

運(yùn)行crawl爬蟲(chóng) python -m scrapy crawl spider_name

LinkExtractor 鏈接提取器通過(guò)鏈接來(lái)或許相應(yīng)的頁(yè)面數(shù)據(jù)

參數(shù)有:allow允許的url 只要是滿足該正則表達(dá)式的url地址即可允許訪問(wèn)和提取數(shù)據(jù)

deny禁止的url 所有滿足該正則表達(dá)式的url地址則不會(huì)被提取

allow_domain 允許的域名 只有在這里面指定的域名url才會(huì)被提取

deny_domain? 禁止的域名 所有在里面指定的域名不會(huì)被提取

restrict_xpath 嚴(yán)格的xpath 和allow共同過(guò)濾鏈接 具體查找某一個(gè)模塊中的鏈接

Rule 在網(wǎng)頁(yè)中提取的規(guī)則

參數(shù)有:link_extractor一個(gè)link對(duì)象用來(lái)定義爬取規(guī)則 也就是網(wǎng)頁(yè)鏈接

callback 定義的是爬取的網(wǎng)頁(yè)用哪個(gè)爬蟲(chóng)提取器的函數(shù)調(diào)用

follow? 指定該規(guī)則從response中提取的連接是否需要跟進(jìn)

process_links 從連接提取器過(guò)來(lái)的鏈接傳給process_links,用來(lái)過(guò)濾不需要爬取的鏈接

項(xiàng)目結(jié)構(gòu):

并且按照一定的正則表達(dá)式的規(guī)則

獲取當(dāng)前頁(yè)面的信息crawlSpider根據(jù)鏈接來(lái)獲取具體內(nèi)容

提取每頁(yè)數(shù)據(jù)或者進(jìn)行翻頁(yè)獲取數(shù)據(jù)


實(shí)現(xiàn)翻頁(yè)獲取數(shù)據(jù)分析截圖

啟動(dòng)爬蟲(chóng)文件
start.py

配置頁(yè)面

settings.py

數(shù)據(jù)存儲(chǔ)
pipelines.py

items.py

運(yùn)行結(jié)果截圖

控制臺(tái)結(jié)果截圖

json文件運(yùn)行結(jié)果截圖

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容