Requests库实战(二)---破解百度翻译
生活随笔
收集整理的這篇文章主要介紹了
Requests库实战(二)---破解百度翻译
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
功能:爬取到頁面中翻譯后的文本數據
獲取請求地址和請求方式
- 先輸入dog翻譯一下,發現是Ajax請求(動態實時刷新頁面),Ajax請求的數據包可以在網絡的XHR中看到。
- 找到輸入dog的數據包,通過標頭的表單數據kw:dog以及響應的結果就可以看到是這個數據包。
- 在標頭的常規中得到請求URL和請求方式(post),在響應頭看到響應結果類型為json數據
如何判斷是不是Ajax請求?
動態實時刷新頁面,只要頁面出現了新內容并且url沒有發生改變就是Ajax請求。
完整代碼
import requests import json#偽裝UA header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48' } word=input('輸入要翻譯的單詞:') #post請求參數處理(同get請求的param一樣) data={'kw':word #通過標頭的表單數據可看到 } url='https://fanyi.baidu.com/sug' response=requests.post(url=url,data=data,headers=header)#獲取json數據,使用response.text的話得到的內容是字節序列 doc_obj=response.json() print(doc_obj) filename=word+'.json' with open(filename,'w',encoding='utf-8') as f:json.dump(doc_obj,f,ensure_ascii=False) #第三個參數是因為中文不能使用ascii編碼 print('獲取翻譯結果成功!')總結
以上是生活随笔為你收集整理的Requests库实战(二)---破解百度翻译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好听的三人闺蜜网名138个
- 下一篇: Requests库实战(三)---爬取豆