[發明專利]一種解決JS加密問題的爬蟲方法在審
| 申請號: | 202010820940.0 | 申請日: | 2020-08-14 |
| 公開(公告)號: | CN111949851A | 公開(公告)日: | 2020-11-17 |
| 發明(設計)人: | 孫健;趙書武;胡健龍;王彩洪 | 申請(專利權)人: | 電子科技大學 |
| 主分類號: | G06F16/951 | 分類號: | G06F16/951;G06F16/955;G06F21/60 |
| 代理公司: | 北京正華智誠專利代理事務所(普通合伙) 11870 | 代理人: | 李林合 |
| 地址: | 611731 四川省成*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 解決 js 加密 問題 爬蟲 方法 | ||
1.一種解決JS加密問題的爬蟲方法,其特征在于,包括以下步驟:
S1:創建scrapy項目,并設定允許爬取的域名范圍、請求頭信息和初始URL;
S2:通過調用selenium框架的webdriver工具獲取cookie;
S3:根據初始URL和cookie,調用內部start_requests()爬取列表頁;
S4:解析列表頁并管理列表頁的URL,完成頁面爬取。
2.根據權利要求1所述的解決JS加密問題的爬蟲方法,其特征在于,所述步驟S1中,scrapy項目包括引擎、調度器、下載器、爬蟲、項目管道、下載器中間件和爬蟲中間件;
所述引擎用于控制其他組件的動作流程;
所述調度器用于暫存引擎請求,當引擎需要URL時,調度器返回給引擎;
所述下載器用于獲取到頁面數據后將其遞交給引擎;
所述爬蟲內定義爬取的邏輯和網頁的定義規則,用于解析響應并生成提取結果和新的請求;
所述項目管道用于處理Item;
所述下載器中間件用于處理下載器傳遞給引擎的Response;
所述爬蟲中間件用于處理爬蟲的輸入和輸出;
所述域名范圍用于限制爬蟲的可爬取范圍;
所述請求頭信息包括向網絡服務器發送請求時傳遞的一組屬性信息和配置信息。
3.根據權利要求1所述的解決JS加密問題的爬蟲方法,其特征在于,所述步驟S2包括以下子步驟:
S21:調用selenium框架的webdriver工具聲明瀏覽器對象并添加驅動;
S22:利用驅動運行瀏覽器,并利用瀏覽器對象訪問初始URL;
S23:從瀏覽器中獲取cookie并存儲在字典中。
4.根據權利要求3所述的解決JS加密問題的爬蟲方法,其特征在于,所述步驟S23中,從瀏覽器獲取到的cookie形式為“鍵:值”。
5.根據權利要求1所述的解決JS加密問題的爬蟲方法,其特征在于,所述步驟S3包括以下子步驟:
S31:調用內部start_requests()讀取初始URL;
S32:根據cookie進行驗證;
S33:根據讀取后的URL和驗證后的cookie,生成請求并傳遞給回調函數處理響應,完后爬取列表頁。
6.根據權利要求5所述的解決JS加密問題的爬蟲方法,其特征在于,所述步驟S32中,根據cookie進行驗證的方法為:爬蟲請求中攜帶的cookie的值與瀏覽器緩存的cookie值進行比較,若完全相同,則可以從網頁獲取響應,否則結束爬取。
7.根據權利要求1所述的解決JS加密問題的爬蟲方法,其特征在于,所述步驟S4中,解析列表頁包括以下子步驟:
A41:解析獲得的響應,得到解析數據;
A42:判斷解析響應過程中URL是否被重定向和加密,若是則進入步驟A43,否則進入步驟A45;
A43:通過正則匹配獲取列表頁中詳細頁的真實鏈接;
A44:爬取并解析詳細頁的真實鏈接,獲得解析數據;
A45:通過項目管道將解析數據輸出并存儲到數據庫中。
8.根據權利要求1所述的解決JS加密問題的爬蟲方法,其特征在于,所述步驟S4中,管理列表頁的URL包括以下子步驟:
B41:將列表頁中各條目的URL加入到待爬取隊列中;
B42:拿出待爬取隊列中的各條目URL并進入詳細頁,獲取詳細信息;
B43:判斷各條目URL隊列是否為空,若是則獲取詳細信息完畢,結束頁面爬取,否則返回步驟S3。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于電子科技大學,未經電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010820940.0/1.html,轉載請聲明來源鉆瓜專利網。





