有道词典翻译(携带请求头和post参数请求)

有道翻译网址:http://fanyi.youdao.com/

在翻译中输入python

找到接口和请求的方式

参数是From Data类型

需要把参数数据转换为字典,

复制粘贴后按住Ctrl + r ,然后

Headers

内容的长度是data携带参数的长度

代码实现

 

分析:红色圈住的,是会根据要翻译的内容变化而变化

运行结果:

代码:

import requests
import json

# 定义爬取url地址
base_url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'

# 定义请求参数
data = {
    'i': 'python',
    'from': 'AUTO',
    'to': 'AUTO',
    'smartresult': 'dict',
    'client': 'fanyideskweb',
    'salt': '15508011658043',
    'sign': '8f6d849c13cec811c6b7ab6d0ad41eb6',
    'ts': '1550801165804',
    'bv': '6f014bd66917f921835d1d6ae8073eb1',
    'doctype': 'json',
    'version': '2.1',
    'keyfrom': 'fanyi.web',
    'action': 'FY_BY_REALTIME',
    'typoResult': 'false'
}

# 定义请求头部参数
headers = {
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Length': '256',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    'Cookie': '[email protected]; JSESSIONID=aaavabYot4NQ1fAZH8sKw; '
              'OUTFOX_SEARCH_USER_ID_NCOO=933374763.1142684; ___rl__test__cookies=1550801165800',
    'Host': 'fanyi.youdao.com',
    'Origin': 'http://fanyi.youdao.com',
    'Referer': 'http://fanyi.youdao.com/',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/71.0.3578.98 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest'
}

# 发起请求 加入headers参数,让服务器知道是浏览器访问的
response = requests.post(base_url, data=data, headers=headers)
json_data = response.json()
print(json_data)
View Code

猜你喜欢

转载自www.cnblogs.com/renshaoqi/p/10420451.html