[發(fā)明專利]一種基于Scrapy-Redis的分布式網(wǎng)絡(luò)爬蟲優(yōu)化方法在審
| 申請?zhí)枺?/td> | 202010317200.5 | 申請日: | 2020-04-21 |
| 公開(公告)號: | CN111611463A | 公開(公告)日: | 2020-09-01 |
| 發(fā)明(設(shè)計(jì))人: | 王寶亮;陳偉寧 | 申請(專利權(quán))人: | 天津大學(xué) |
| 主分類號: | G06F16/951 | 分類號: | G06F16/951;H04L12/24;H04L29/12 |
| 代理公司: | 天津市北洋有限責(zé)任專利代理事務(wù)所 12201 | 代理人: | 程毓英 |
| 地址: | 300072*** | 國省代碼: | 天津;12 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 scrapy redis 分布式 網(wǎng)絡(luò) 爬蟲 優(yōu)化 方法 | ||
1.一種基于Scrapy-Redis的分布式網(wǎng)絡(luò)爬蟲優(yōu)化方法,包括以下方面:
(1)去重過程優(yōu)化
使用布隆過濾器代替指紋去重機(jī)制,在優(yōu)化后的去重過程中,元素集合使用位數(shù)組形式表示;當(dāng)一個元素被加入集合時,通過K個散列函數(shù)將此元素映射成一個位數(shù)組中的K個點(diǎn),并將所有點(diǎn)置為1;在進(jìn)行判別檢索時,若所有點(diǎn)的值均為1,則被檢元素大概率出現(xiàn)在集合中;若所有點(diǎn)中存在0,則被檢元素一定不在集合中。
(2)空閑監(jiān)測機(jī)制
采用空閑監(jiān)測機(jī)制,空閑監(jiān)測機(jī)制使用Scrapy中的spider_idle信號來監(jiān)測爬蟲的空閑狀態(tài),當(dāng)爬蟲進(jìn)入空閑狀態(tài)時,該信號被發(fā)送;爬蟲空閑時的三種情形:一是Request請求正在等待被下載;二是Request請求正在被調(diào)度;三是數(shù)據(jù)正在管道中被處理,為此三類情形設(shè)置一個空閑時間閾值作為分界條件,在接收到某節(jié)點(diǎn)的空閑信號之后,若監(jiān)聽到空閑時間小于等于空閑時間閾值,則節(jié)點(diǎn)繼續(xù)工作;若監(jiān)聽到空閑時間大于空閑時間閾值,則可以判定為該節(jié)點(diǎn)暫無待爬取任務(wù),即可結(jié)束此節(jié)點(diǎn)進(jìn)程;
(3)動態(tài)請求配置
當(dāng)客戶端頻繁向目的服務(wù)器發(fā)送請求時,可能被服務(wù)器辨認(rèn)為惡意程序進(jìn)而限定客戶端行為,通過配置動態(tài)請求解決此問題:
一是進(jìn)行動態(tài)IP的配置:維護(hù)一個可長期運(yùn)行的IP池以供使用,并在每次發(fā)起請求時保證IP的隨機(jī)性,為應(yīng)對請求失敗的情形,根據(jù)應(yīng)用場景,配置接收到何種響應(yīng)時嘗試再次請求,并配置嘗試請求次數(shù)達(dá)到何值時視為爬蟲失敗;同時,保證動態(tài)IP與Scrapy中下載中間件的關(guān)聯(lián)性;
二是進(jìn)行動態(tài)請求頭的配置:按真實(shí)請求頭規(guī)范編寫一個請求頭集合,用來模擬各類瀏覽器發(fā)起請求的過程,禁用Scrapy下載中間件中的請求頭設(shè)置。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于天津大學(xué),未經(jīng)天津大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010317200.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種自動獲取xpath生成爬蟲腳本的方法及系統(tǒng)
- 一種解決Web證書認(rèn)證的爬蟲方法
- 一種基于Scrapy框架的網(wǎng)絡(luò)數(shù)據(jù)的采集方法及裝置
- 一種基于Scrapy的數(shù)據(jù)采集方法
- 基于Scrapy的數(shù)據(jù)爬取方法、終端設(shè)備及計(jì)算機(jī)可讀存儲介質(zhì)
- 一種海外服務(wù)器非結(jié)構(gòu)數(shù)據(jù)采集系統(tǒng)及方法
- 基于Scrapy的網(wǎng)站URL爬取方法
- 一種基于Scrapy-Redis的分布式網(wǎng)絡(luò)爬蟲優(yōu)化方法
- 分布式爬蟲的集中管理系統(tǒng)
- 一種基于消息中間件的數(shù)據(jù)采集系統(tǒng)、方法及裝置





