有道翻译网址: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)