注:傳入的類型為POST類型,所以需要使用urllib.parse.urlencode(),將字典轉換成URL可用參數;
使用json.loads(),將輸出的json格式,轉換為字典類型
import urllib.request
爬蟲去掉div、import urllib.parse
import json
content = input("請輸入要翻譯的內容:")
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
Python百度翻譯。data = {}
data["i"] = content
data["from"] = "AUTO"
data["to"] = "AUTO"
python中文翻譯,data["smartresult"] = "dict"
data["client"] = "fanyideskweb"
data["salt"] = "1537624423057"
data["sign"] = "0c1989ed937485dd570fc4b5907cf567"
python爬蟲有什么用,data["doctype"] = "json"
data["version"] = "2.1"
data["keyfrom"] = "fanyi.web"
data["action"] = "FY_BY_REALTIME"
Python翻譯、data["typoResult"] = "false"
#因傳入的類型為POST類型,所以需要將字典轉換為url需要使用的參數
data = urllib.parse.urlencode(data).encode("utf-8")
response = urllib.request.urlopen(url, data)
去哪兒爬蟲。html = response.read().decode("utf-8")
#將JSON格式轉換成字典類型
translate = json.loads(html)
translate_src = translate["translateResult"][0][0]["src"]
python爬蟲教程、translate_Result = translate["translateResult"][0][0]["tgt"]
print("翻譯內容:%s" % translate_src)
print("翻譯結果:%s" % translate_Result)
==============================使用代理訪問======================================
python在線編程翻譯器?import urllib.request
import urllib.parse
import json
while True:
python怎么爬數據?content = input("請輸入要翻譯的內容(輸入!退出):")
if content == "!":
break
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
data = {}
data["i"] = content
data["from"] = "AUTO"
data["to"] = "AUTO"
data["smartresult"] = "dict"
data["client"] = "fanyideskweb"
data["salt"] = "1537624423057"
data["sign"] = "0c1989ed937485dd570fc4b5907cf567"
data["doctype"] = "json"
data["version"] = "2.1"
data["keyfrom"] = "fanyi.web"
data["action"] = "FY_BY_REALTIME"
data["typoResult"] = "false"
#因傳入的類型為POST類型,所以需要將字典轉換為url需要使用的參數
data = urllib.parse.urlencode(data).encode("utf-8")
#---------------------------------代理---------------------------------------------------
#urllib.request.ProxyHandler的參數師一個數組
proxy_support = urllib.request.ProxyHandler({"https": "27.17.45.90:43411"})
#創建一個opener
opener = urllib.request.build_opener(proxy_support)
#添加user-agent
opener.addheaders = [("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/69.0.3497.81 Safari/537.36")]
#全局加載代理IP
urllib.request.install_opener(opener)
#----------------------------------代理結束--------------------------------------------------
req = urllib.request.Request(url, data)
req.add_header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/69.0.3497.81 Safari/537.36")
response = urllib.request.urlopen(req)
html = response.read().decode("utf-8")
#將JSON格式轉換成字典類型
translate = json.loads(html)
translate_src = translate["translateResult"][0][0]["src"]
translate_Result = translate["translateResult"][0][0]["tgt"]
print("翻譯內容:%s" % translate_src)
print("翻譯結果:%s" % translate_Result)
==============================分割線===========================================
1、在運行中報{"errorCode":50},將審查元素中獲取的URL里面,將translate_o的_o去掉就不會報錯。
2、data["salt"] = "1537624423057" :時間戳
3、data["sign"] = "0c1989ed937485dd570fc4b5907cf567" :時間戳 + 翻譯內容加密生成的字符串
4、urllib.error.URLError: ,沒有連接到服務器,需要更換代理IP
5、urllib.error.HTTPError: HTTP Error 403: Forbidden:需要添加user-agent
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态