[發明專利]一種基于圖片驗證碼識別的網絡爬蟲方法有效
| 申請號: | 201711415807.1 | 申請日: | 2017-12-25 |
| 公開(公告)號: | CN108062468B | 公開(公告)日: | 2021-08-24 |
| 發明(設計)人: | 閔信志;劉計爭;高成俊 | 申請(專利權)人: | 南京烽火星空通信發展有限公司 |
| 主分類號: | G06F21/36 | 分類號: | G06F21/36;G06F16/951 |
| 代理公司: | 南京經緯專利商標代理有限公司 32200 | 代理人: | 楊海軍 |
| 地址: | 210019 江蘇省南京市建*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 圖片 驗證 識別 網絡 爬蟲 方法 | ||
本發明公開了一種基于圖片驗證碼識別的網絡爬蟲方法,包括:爬蟲程序的預處理和構建;計算機加載爬蟲程序,使用瀏覽器訪問網頁;在網絡請求超時、代理IP被限制訪問、出現圖片驗證碼時,由爬蟲程序進行不同處理,在訪問到爬蟲需要爬取的網頁時,將網頁的內容下載并保存。本發明可以在被爬取的網站使用圖片驗證碼限制網絡爬蟲爬取網站內容時,通過人工識別圖片驗證碼,使得爬蟲可以繼續爬取網頁。
技術領域
本發明公開了一種基于圖片驗證碼識別的網絡爬蟲方法,涉及計算機網絡技術領域。
背景技術
當前,網絡爬蟲的實現主要通過后面幾個步驟,先使用網絡聽包工具,獲取爬蟲需要發起請求的url、請求頭部、以及各種請求參數,然后編程模仿瀏覽器發起網絡請求。但是有的網站在爬蟲發起請求后會出現圖片驗證碼,在網站有圖片驗證碼策略的時候,要讓爬蟲能夠正常運行,目前有如下方法:
1)測試網站對網絡請求頻率的限制,找到一個不觸發圖片驗證碼機制的請求頻率。
2)使用網絡上的圖片驗證碼平臺幫助識別圖片驗證碼。
3)使用圖片識別程序識別圖片驗證碼的圖片內容。
但是以上方法,在某些條件下還是存在不足:
1)網站的請求頻率限制不是固定值時,第一種解決方案無法使用。
2)圖片驗證碼平臺,針對的是純數字、純字母或數字字母組合等簡單圖片驗證碼。當圖片驗證碼中圖片內容是日常生活中照片,并要求識別圖片中指定的物體時,第二種解決方案也不可行。
3)在圖片上有背景噪聲,例如不同顏色的色塊、刪除線等時,圖片識別程序的成功識別率不高。
發明內容
本發明所要解決的技術問題是:針對現有技術的缺陷,提供一種基于圖片驗證碼識別的網絡爬蟲方法,所述方法在面對觸發網站圖片驗證碼機制的網絡請求頻率不是固定值的情形、圖片驗證碼中圖片內容有背景噪聲或圖片內容是日常生活中照片,并要求識別圖片中指定的物體的情形,仍然可以完成爬取網頁的任務。
本發明為解決上述技術問題采用以下技術方案:
一種基于圖片驗證碼識別的網絡爬蟲方法,具體包括如下步驟:
步驟一、爬蟲程序的預處理和構建;
所述爬蟲程序的預處理具體包括以下步驟:
101、使用瀏覽器持續訪問需要爬蟲爬取的網頁,一直到出現圖片驗證碼;
102、獲取圖片驗證碼區域的xpath路徑,計為路徑1;
103、在圖片驗證碼驗證成功后,選擇一處該階段網頁有別于其它階段網頁的html元素的xpath路徑,計為路徑2;
104、繼續使用瀏覽器訪問網頁,一直到出現IP被限制訪問,然后,選擇一處該階段網頁有別于其他網頁的html元素的xpath路徑,計為路徑3。
所述爬蟲程序的構建包括:
構造爬蟲程序的輸入文件,每行文件內容為json格式,包含proxy和url兩個字符串節點;
使用Selenium,配合Chrome Driver和java語言環境api,通過瀏覽器內置的自動化支持操作瀏覽器。
步驟二、計算機加載爬蟲程序,使用瀏覽器訪問網頁。
步驟三、在網絡請求超時、代理IP被限制訪問、出現圖片驗證碼時,由爬蟲程序進行不同處理,在訪問到爬蟲需要爬取的網頁時,將網頁的內容下載并保存。
所述步驟三的具體處理方式為:
a)將爬蟲程序的輸入文件加載到計算機的內存中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京烽火星空通信發展有限公司,未經南京烽火星空通信發展有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711415807.1/2.html,轉載請聲明來源鉆瓜專利網。





