爬蟲去掉div,python有道-Python爬去有道翻譯

 2023-11-18 阅读 28 评论 0

摘要:注:傳入的類型為POST類型,所以需要使用urllib.parse.urlencode(),將字典轉換成URL可用參數; 使用json.loads(),將輸出的json格式,轉換為字典類型 import urllib.request 爬蟲去掉div、import urllib.parse import json content 

注:傳入的類型為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

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/177038.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息