1. 程式人生 > >爬蟲——爬取有道詞典

爬蟲——爬取有道詞典

1開啟有道詞典-有道翻譯-右鍵審查元素-Network-Headers-找到General下面的URL,寫入程式碼

import urllib.request
import urllib.parse

url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data={}
data['i']='我氣'
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='1538989442643'
data['sign']='40954ebe6d906735813c2cd7c2274733'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_CLICKBUTTION'
data['typoResult']='false'
#利用urlencode把它編碼成url的形式
data=urllib.parse.urlencode(data).encode('utf-8')
response=urllib.request.urlopen(url,data)
html=response.read().decode('utf-8')
print(html)
然後再往下拉,找到Form Data寫入程式碼裡面的data陣列

 

執行如果出現如下情況:

只需要去掉url地址裡面的_o即可

正確結果如下:

為了使用者看起來更加友好,還需進行改進:

通過下圖分析:

對原本的程式碼進行如下改進:

import urllib.request
import urllib.parse
import json
contend=input('請輸入 需要翻譯的內容:')
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data={}
data['i']=contend
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='1538989442643'
data['sign']='40954ebe6d906735813c2cd7c2274733'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_CLICKBUTTION'
data['typoResult']='false'
#利用urlencode把它編碼成url的形式
data=urllib.parse.urlencode(data).encode('utf-8')
response=urllib.request.urlopen(url,data)
html=response.read().decode('utf-8')
target=json.loads(html)
print('翻譯結果:%s'%(target['translateResult'][0][0]['tgt']))
執行結果是:

到此,有道爬蟲就結束了!