[發(fā)明專利]一種解決JS加密問題的爬蟲方法在審
| 申請?zhí)枺?/td> | 202010820940.0 | 申請日: | 2020-08-14 |
| 公開(公告)號: | CN111949851A | 公開(公告)日: | 2020-11-17 |
| 發(fā)明(設(shè)計(jì))人: | 孫健;趙書武;胡健龍;王彩洪 | 申請(專利權(quán))人: | 電子科技大學(xué) |
| 主分類號: | G06F16/951 | 分類號: | G06F16/951;G06F16/955;G06F21/60 |
| 代理公司: | 北京正華智誠專利代理事務(wù)所(普通合伙) 11870 | 代理人: | 李林合 |
| 地址: | 611731 四川省成*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 解決 js 加密 問題 爬蟲 方法 | ||
本發(fā)明公開了一種解決JS加密問題的爬蟲方法,包括以下步驟:S1:創(chuàng)建scrapy項(xiàng)目,并設(shè)定允許爬取的域名范圍、請求頭信息和初始URL;S2:通過調(diào)用selenium框架的webdriver工具獲取cookie;S3:根據(jù)初始URL和cookie,調(diào)用內(nèi)部start_requests()爬取列表頁;S4:解析列表頁并管理列表頁的URL,完成頁面爬取。本發(fā)明使用的是聚焦網(wǎng)絡(luò)爬蟲。本發(fā)明中先將要爬取的內(nèi)容通過搜索引擎篩選出來,然后爬取篩選出來的頁面內(nèi)容,可爬取JS加密的頁面,同時(shí)可獲取網(wǎng)頁重定向之后的鏈接。
技術(shù)領(lǐng)域
本發(fā)明屬于網(wǎng)絡(luò)爬蟲技術(shù)領(lǐng)域,具體涉及一種解決JS加密問題的爬蟲方法。
背景技術(shù)
在大數(shù)據(jù)和互聯(lián)網(wǎng)+時(shí)代,網(wǎng)絡(luò)上的信息量飛速增長,傳統(tǒng)的通過搜索引擎獲取信息的方式已經(jīng)有了局限性,越來越滿足不了用戶對信息獲取的高效、快速和準(zhǔn)確的要求。在自動化和智能化得到快速發(fā)展的今天,利用自動化方法獲取信息將是一個(gè)重要的方向。在自動化獲取信息的眾多方法里,網(wǎng)絡(luò)爬蟲是一大利器,它基于搜索引擎,能夠自動地解析出網(wǎng)頁結(jié)構(gòu)并快速定位到用戶的目標(biāo)數(shù)據(jù)進(jìn)行爬取并儲存,高效又準(zhǔn)確。
網(wǎng)絡(luò)爬蟲是一個(gè)在網(wǎng)絡(luò)上抓取頁面、分析頁面和抽取鏈接的程序。它自動遍歷Web的超文本結(jié)構(gòu),從初始的超鏈接開始,遞歸地檢索可從該文檔訪問的所有文檔。網(wǎng)絡(luò)爬蟲的工作原理較為簡單,一般的Web爬蟲的內(nèi)部維護(hù)了一個(gè)容器用于存儲URL鏈接,從根頁面開始,根頁面的URL首先被爬蟲添加到容器中,進(jìn)入鏈接讀取根頁面的內(nèi)容,解析出根頁面中后續(xù)需要訪問的鏈接將其加入到容器中,循環(huán)執(zhí)行上述過程直至URL容器為空則停止運(yùn)行。
除了通用爬蟲,有學(xué)者還提出了一種聚焦網(wǎng)絡(luò)爬蟲,即在一般的Web爬蟲的基礎(chǔ)上,用戶需要通過設(shè)置主題來過濾解析后的頁面內(nèi)容,舍棄無用信息并將目標(biāo)信息存入數(shù)據(jù)庫,以及將目標(biāo)URL加入到URL容器中。但是現(xiàn)有的網(wǎng)蟲技術(shù)無法爬取JS加密的頁面,無法獲取網(wǎng)頁重定向之后的鏈接。
發(fā)明內(nèi)容
本發(fā)明的目的是為了解決基于scrapy框架的爬蟲無法爬取JS加密和重定向頁面的問題,提出了一種解決JS加密問題的爬蟲方法。
本發(fā)明的技術(shù)方案是:一種解決JS加密問題的爬蟲方法包括以下步驟:
S1:創(chuàng)建scrapy項(xiàng)目,并設(shè)定允許爬取的域名范圍、請求頭信息和初始URL;
S2:通過調(diào)用selenium框架的webdriver工具獲取cookie;
S3:根據(jù)初始URL和cookie,調(diào)用內(nèi)部start_requests()爬取列表頁;
S4:解析列表頁并管理列表頁的URL,完成頁面爬取。
本發(fā)明的有益效果是:本發(fā)明使用的是聚焦網(wǎng)絡(luò)爬蟲。本發(fā)明中先將要爬取的內(nèi)容通過搜索引擎篩選出來,然后爬取篩選出來的頁面內(nèi)容,可爬取JS加密的頁面,同時(shí)可獲取網(wǎng)頁重定向之后的鏈接。
進(jìn)一步地,步驟S1中,scrapy項(xiàng)目包括引擎、調(diào)度器、下載器、爬蟲、項(xiàng)目管道、下載器中間件和爬蟲中間件;
引擎用于控制其他組件的動作流程;
調(diào)度器用于暫存引擎請求,當(dāng)引擎需要URL時(shí),調(diào)度器返回給引擎;
下載器用于獲取到頁面數(shù)據(jù)后將其遞交給引擎;
爬蟲內(nèi)定義爬取的邏輯和網(wǎng)頁的定義規(guī)則,用于解析響應(yīng)并生成提取結(jié)果和新的請求;
項(xiàng)目管道用于處理Item;
下載器中間件用于處理下載器傳遞給引擎的Response;
爬蟲中間件用于處理爬蟲的輸入和輸出;
域名范圍用于限制爬蟲的可爬取范圍;如果獲取的鏈接不在這個(gè)域名下就自動過濾不在爬取;
該專利技術(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/202010820940.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- JS文件處理方法和裝置
- 一種JS代碼的測試方法、存儲介質(zhì)、設(shè)備和系統(tǒng)
- 一種JS代碼的測試方法、存儲介質(zhì)、設(shè)備和系統(tǒng)
- 分布式的JS文件篡改監(jiān)控方法、系統(tǒng)、設(shè)備及存儲介質(zhì)
- 在IOS應(yīng)用內(nèi)調(diào)用函數(shù)的方法及系統(tǒng)
- 一種可擴(kuò)展的游戲構(gòu)建方法、游戲運(yùn)行方法和存儲介質(zhì)
- 一種提高腳本的加載效率的方法及終端
- 一種應(yīng)用程序依賴的JS代碼與原生庫兼容的方法及終端
- JS代碼防重復(fù)注入方法、裝置、計(jì)算機(jī)設(shè)備及存儲介質(zhì)
- 原生應(yīng)用調(diào)用JS的方法、裝置、電子設(shè)備及存儲介質(zhì)
- 加密裝置、加密系統(tǒng)、加密方法以及加密程序
- 移動終端和方法
- 再加密方法、再加密系統(tǒng)以及再加密裝置
- 加密終端遠(yuǎn)程管理的方法、加密終端及管理器
- 數(shù)據(jù)加密的方法及裝置
- 流媒體數(shù)據(jù)加密、解密方法、裝置、電子設(shè)備及存儲介質(zhì)
- 加密裝置、加密系統(tǒng)和數(shù)據(jù)的加密方法
- 文件加密、解密方法、裝置、設(shè)備和存儲介質(zhì)
- 一種車聯(lián)網(wǎng)數(shù)據(jù)加密方法及系統(tǒng)
- 一種服務(wù)數(shù)據(jù)共享云平臺的數(shù)據(jù)加密方法及系統(tǒng)





