圖片偽裝反爬蟲(chóng)的原理和破解方法
本文轉(zhuǎn)載自微信公眾號(hào)「志斌的python筆記」,作者志斌 。轉(zhuǎn)載本文請(qǐng)聯(lián)系志斌的python筆記公眾號(hào)。
大家好,我是志斌~
今天志斌來(lái)給大家分享一下如何破解文本混淆反爬蟲(chóng)中的圖片偽裝反爬蟲(chóng)~
01定義
現(xiàn)在許多大型網(wǎng)站的反爬蟲(chóng)方式是將圖片與文字混合在一起,放到頁(yè)面上進(jìn)行展示。這種混合展示的方式并不會(huì)影響用戶(hù)的正常閱讀,但是卻可以限制爬蟲(chóng)程序獲取這些內(nèi)容。如下圖:
02原理
這種反爬蟲(chóng)的原理十分簡(jiǎn)單,就是將本應(yīng)是普通文本內(nèi)容的部分在前端頁(yè)面中用圖片來(lái)進(jìn)行替換,從而達(dá)到“魚(yú)目混珠“的效果。
03破解
因?yàn)檫@種反爬蟲(chóng)方式是將內(nèi)容進(jìn)行替換,所以我們無(wú)法進(jìn)行繞過(guò),只能破解它來(lái)獲取我們想要的內(nèi)容。
破解的方法也比較簡(jiǎn)單,我們只需要將圖片下載下來(lái)然后對(duì)里面的內(nèi)容進(jìn)行提取即可。提取圖片中的文字有很多方式,我用的是百度AI來(lái)進(jìn)行提取。代碼如下:
- from aip import AipOcr
- APP_ID = '你的APPID'
- API_KEY = 'API Key'
- SECRET_KEY = '你的Secret Key'
- client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
- with open(img,'rb') as f:
- image = f.read()
- word = client.basicGeneral(image)
在之前的文章中我分享過(guò)一個(gè)用百度api進(jìn)行提取圖片中內(nèi)容的方式,有興趣的讀者可以看看這篇文章20行代碼教你如何批量提取圖片中文字。
04小結(jié)
1. 圖片偽裝反爬蟲(chóng)的本質(zhì)就是用圖片替換了原來(lái)的內(nèi)容,從而讓爬蟲(chóng)程序無(wú)法正常獲取,我們只要將里面的內(nèi)容識(shí)別、提取出來(lái)就可以破解這種反爬蟲(chóng)。
2. 破解這種反爬蟲(chóng)的難度并不大,但是代碼書(shū)寫(xiě)可能較為繁瑣,讀者們可以提前寫(xiě)好流程圖,然后在進(jìn)行書(shū)寫(xiě)。
3. 目前這種反爬蟲(chóng)方法已經(jīng)被各類(lèi)大型網(wǎng)站所應(yīng)用,所以大家要掌握這種反爬蟲(chóng)的繞過(guò)方法。
4. 本文旨在學(xué)習(xí)與研究圖片偽裝反爬蟲(chóng),請(qǐng)大家不要用于非法用途。