Python爬蟲教程-實現百度翻譯

使用python爬蟲實現百度翻譯功能
python爬蟲實現百度翻譯: python解釋器【模擬瀏覽器】,發送【post請求】,傳入待【翻譯的內容】做爲參數,獲取【百度翻譯的結果】python

經過開發者工具,獲取發送請求的地址git

提示: 翻譯內容發送的請求地址,絕對不是打開百度翻譯的那個地址,想要抓取地址,就要藉助【瀏覽器的開發者工具】,或者其餘抓包工具github

下面介紹獲取請求地址的具體方法
以Chrome爲例json

打開百度翻譯:http://fanyi.baidu.com/
【點擊右鍵】>【檢查】>【network】(若是是火狐瀏覽器,點擊【網絡】)
點擊【XHR】項,(有些須要刷新,有些異步的請求不須要刷新)
在頁面【輸入翻譯的詞彙】
在XHR項下,查找包含【輸入須要翻譯的詞彙】的請求
查看請求的參數,須要【點擊請求】>【Headers】>最下面的【Form Data】
(這裏有一個坑:咱們會發現有多個sug項,實際上是由於百度翻譯只要每輸入一個字母就會發送一次請求,因此雖然多個請求的地址都是同樣的,可是隻有最後一個sug項的參數纔是最後的詞彙)瀏覽器

操做截圖 :

請求地址在這裏網絡

 

 

獻上實現的代碼

直接上代碼,具體步驟下載註釋上了

不會配置環境,安裝python的包,請參考下一篇:
https://i-beta.cnblogs.com/posts/edit-done;postId=11945465
py05bdfanyi.py文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py05bdfanyi.pypython爬蟲

 1 # python爬蟲實現百度翻譯
 2 # urllib和request POST參數提交
 3 # 缺乏包請自行查看以前的筆記
 4 
 5 from urllib import request,parse  6 import json  7 
 8 def fanyi(keyword):  9     base_url = 'http://fanyi.baidu.com/sug'
10 
11     # 構建請求對象
12     data = { 13         'kw': keyword 14  } 15     data = parse.urlencode(data) 16 
17     # 模擬瀏覽器
18     header = {"User-Agent": "mozilla/4.0 (compatible; MSIE 5.5; Windows NT)"} 19 
20     req = request.Request(url=base_url,data=bytes(data,encoding='utf-8'),headers=header) 21     res = request.urlopen(req) 22 
23     # 獲取響應的json字符串
24     str_json = res.read().decode('utf-8') 25     # 把json轉換成字典
26     myjson = json.loads(str_json) 27     info = myjson['data'][0]['v'] 28     print(info) 29 
30 if __name__=='__main__': 31     while True: 32         keyword = input('請輸入翻譯的單詞:') 33         if keyword == 'q': 34             break
35         fanyi(keyword)

代碼運行

  

 若是還有問題未能獲得解決,搜索887934385交流羣,進入後下載資料工具安裝包等。最後,感謝觀看!異步

相關文章
相關標籤/搜索