利用python爬蟲怎么對有道詞典進(jìn)行爬???針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團(tuán)隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),小程序設(shè)計,軟件按需策劃設(shè)計等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。材料
1.Python 3.8.4
2.電腦一臺(應(yīng)該不至于有”窮苦人家“連一臺電腦都沒有吧)
3.Google瀏覽器(其他的也行,但我是用的Google)
寫程序前準(zhǔn)備
打開Google瀏覽器,找的有道詞典的翻譯網(wǎng)頁(http://fanyi.youdao.com/)
打開后摁F12打開開發(fā)者模式,找Network選項卡,點擊Network選項卡,然后刷新一下網(wǎng)頁
然后翻譯一段文字,隨便啥都行(我用的程序員的傳統(tǒng):hello world),然后點擊翻譯
在選項卡中找到以translate開頭的post文件
箭頭的地方才是真正的提交地址
記住他,寫代碼時要用
這個是提交電腦的基本信息,記住他,等會兒要用,等會兒偽裝成電腦時可以用,因為電腦會有基本信息,而如果是python的話會顯示成python3.8.4(因為我的版本是3.8.4),從而容易被服務(wù)器禁入
等會兒還要用
好,準(zhǔn)備工作做完了,接下來開始干正事了
開始編寫爬蟲代碼
下面是我寫的代碼,具體我就不細(xì)說了
#導(dǎo)入urllib庫 import urllib.request import urllib.parse import json while True: #無限循環(huán) content = input("請輸入您要翻譯的內(nèi)容(輸入 !!! 退出程序): ") #設(shè)置退出條件 if content == '!!!': break url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' #選擇要爬取的網(wǎng)頁,上面找過了 #加上一個帽子,減少被發(fā)現(xiàn)的概率(下面head列表的內(nèi)容就是上面找的) head = {} head['User - Agent'] = '請?zhí)鎿Q' #偽裝計算機(jī)提交翻譯申請(下面的內(nèi)容也在在上面有過,好根據(jù)自己的進(jìn)行修改) data = {} data['type'] = 'AUTO' data['i'] = content data['doctype'] = 'json' data['version'] = '2.1' data['keyfrom:'] = 'fanyi.web' data['ue'] = 'UTF-8' data['typoResult'] = 'true' data = urllib.parse.urlencode(data).encode('utf-8') response = urllib.request.urlopen(url, data) #解碼 html = response.read().decode('utf-8') paper = json.loads(html) #打印翻譯結(jié)果 print("翻譯結(jié)果: %s" % (paper['translateResult'][0][0]['tgt']))