python爬虫百度翻译
import requests
# sr=input("你要看什么:")
url = 'https://fanyi.baidu.com/v2transapi?from=zh&to=en'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36",
"X-Requested-With": "XMLHttpRequest"
'Date": "Fri, 01 Mar 2024 09:02:01 GMT'
}
date = {
"query": "你好 我手里面有鬼",
"transtype": "enter",
"simple_means_flag": "3",
"sign": "555931.825514",
"token": "fce0eb43996cf5da240ef921aa91dead",
"domain": "common",
"ts": "1709283726909",
}
response = requests.post(url, headers=headers,data=date)
ss = response.json()
print(response.json())
打印的内容是
{'errno': 997, 'errmsg': '未知错误', 'logid': 731108572, 'query': '你好 我手里面有鬼', 'from': 'zh', 'to': 'en', 'error': 997}
还有哪个参数是必填的吗怎么查看是必填的数据呢 根据你提供的代码和结果,可以看出爬取百度翻译接口时出现了错误。要解决这个问题,首先需要查看接口文档,找到必填的参数。
在百度翻译接口中,必填的参数有:query(待翻译的文本),token(根据浏览器中cookie生成的token),sign(根据当前时间戳和token生成的签名值),ts(当前的时间戳),from(源语言)和to(目标语言)。
根据你的代码,已经提供了query参数,但其他参数可能缺失导致请求失败。具体的方法是使用浏览器进行一次正常的翻译操作,然后在开发者工具的"Network"面板中找到对应的请求,查看参数列表中的值并添加到你的代码中。
另外,你的代码中的headers字段中缺少一个逗号,可能会导致语法错误。修改后的代码示例如下:
import requests
url = 'https://fanyi.baidu.com/v2transapi?from=zh&to=en'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36",
"X-Requested-With": "XMLHttpRequest",
"Date": "Fri, 01 Mar 2024 09:02:01 GMT"
}
data = {
"query": "你好 我手里面有鬼",
"transtype": "enter",
"simple_means_flag": "3",
"sign": "555931.825514",
"token": "fce0eb43996cf5da240ef921aa91dead",
"domain": "common",
"ts": "1709283726909",
}
response = requests.post(url, headers=headers, data=data)
output = response.json()
print(output)
希望这个回答对你有帮助,祝你编程愉快!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 添加 Cookie 就可以了 tengke 发表于 2024-03-01 17:25
添加 Cookie 就可以了
确实,如果要在请求中添加 Cookie,可以在 headers 字典中加入 "Cookie": "your_cookie_value"。具体的做法是打开浏览器,登录百度翻译页面,然后在开发者工具的"Network"面板中找到对应的请求,查找 "Request Headers" 中的 "Cookie" 字段,并将其值添加到代码中。修改后的代码示例如下:
import requests
url = 'https://fanyi.baidu.com/v2transapi?from=zh&to=en'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36",
"X-Requested-With": "XMLHttpRequest",
"Date": "Fri, 01 Mar 2024 09:02:01 GMT",
"Cookie": "your_cookie_value"
}
data = {
"query": "你好 我手里面有鬼",
"transtype": "enter",
"simple_means_flag": "3",
"sign": "555931.825514",
"token": "fce0eb43996cf5da240ef921aa91dead",
"domain": "common",
"ts": "1709283726909",
}
response = requests.post(url, headers=headers, data=data)
output = response.json()
print(output)
注意:由于 Cookie 是个人身份验证信息,需要保护好个人隐私,这里在示例中用 "your_cookie_value" 代替实际的 Cookie 值。在实际应用中,请使用你自己的 Cookie 值。希望这个回答对你有帮助,祝你编程愉快!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]