编程语言
首页 > 编程语言> > 使用python爬取有道词典翻译

使用python爬取有道词典翻译

作者:互联网


```python

```python

```python
import  requests  # 导入requests 模块
import json      # 导入json

# 有道里面的响应的xhr地址   
# 将下面的 translate_o?  里面的 _o  去掉  因为这是有道词典的反爬手段  
#'https://fanyi.youdao.com/translate_o? smartresult=dict&smartresult=rule'

# 生成新的url
url = 'https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'


# 请求的时候携带headers头  不然会收到反爬
# cookie 是身份验证使用的
headers = {
    'Cookie': 'OUTFOX_SEARCH_USER_ID=79467041@10.108.160.102; JSESSIONID=aaaYcfsIiH6Eq9tgeJY4x; OUTFOX_SEARCH_USER_ID_NCOO=1993965922.0769746; ___rl__test__cookies=1641525568356',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'

}
# 输入要翻译的中文
ch = input('请输入要翻译的中文:')

# 使用post 请求 上传的表单数据
data = {
'i': ch,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': '16415255698865',
'sign': '579fb50ceb14d682a26d50ba0fade116',
'lts': '1641525569886',
'bv': 'fdac15c78f51b91dabd0a15d9a1b10f5',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_REALTlME'

}
# 使用post方法 传入参数
re = requests.post(url=url,data=data,headers=headers)
# 打印得到的英文翻译
print(json.loads(re.text)['translateResult'][0][0]['tgt'])


标签:python,smartresult,爬取,headers,json,dict,url,词典
来源: https://blog.csdn.net/ZhuDaoKe/article/details/122361047