此Python破解反爬蟲實例,曾幫助過我成長,你也會對它表示感謝!
通過用JS在本地生成隨機字符串的反爬蟲機制,在利用Python寫爬蟲的時候經(jīng)常會遇到的一個問題。希望通過講解,能為大家提供一種思路。以后再碰到這種問題的時候知道該如何解決。(如果缺乏學(xué)習(xí)資料的同學(xué),文末已經(jīng)給你提供!)
破解有道翻譯反爬蟲機制
web端的有道翻譯,在之前是直接可以爬的。也就是說只要獲取到了他的接口,你就可以肆無忌憚的使用他的接口進行翻譯而不需要支付任何費用。那么自從有道翻譯推出他的API服務(wù)的時候,就對這個接口做一個反爬蟲機制。這個反爬蟲機制在爬蟲領(lǐng)域算是一個非常經(jīng)典的技術(shù)手段。那么他的反爬蟲機制原理是什么?如何破解?接下來帶大家一探究竟。
一、正常的爬蟲流程:
在上圖,我們可以看到發(fā)送了很多的網(wǎng)絡(luò)請求,這里我們點擊***個網(wǎng)絡(luò)請求進行查看:
對其中幾個比較重要的數(shù)據(jù)進行解釋:
其他的數(shù)據(jù)類型暫時就不怎么重要了,都是固定寫法,我們后面寫代碼的時候直接鞋子就可以了。到現(xiàn)在為止,我們就可以寫一個簡單的爬蟲,去調(diào)用有道翻譯的接口了。這里我們使用的網(wǎng)絡(luò)請求庫是Python3自帶的urllib,相關(guān)代碼如下:
二、破解反爬蟲機制:
然后把格式化后的代碼,復(fù)制下來,用sublime或者pycharm打開都可以,然后搜索salt,可以找到相關(guān)的代碼:
知道salt和sign的生成原理后,我們就可以寫Python代碼,來對接他的接口了,以下是相關(guān)代碼: