python 爬取有道翻译
# translate words through youdao.com // discription about the code # the problem is the form data of youdao webpage has been coded # import necessary package import urllib.request import urllib.parse import json def translate(translate_name): url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule" # 这里删除了_0 header = {} # build the headers especially for User-Agent header["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0" # input the User-Agent data = { # built the data form 'i':translate_name, 'from': "AUTO", 'to':"AUTO", 'smartresult':"dict", 'client':"fanyideskweb", "salt":"15937031552563", 'sign':"085de10feee0ff2cccd9743f523d97ed", 'ts':"1593703155256", "bv":"e2a78ed30c66e16a857c5b6486a1d326", "doctype":"json", "version":"2.1", "keyfrom":"fanyi.web", "action":"FY_BY_REALTlME" } my_encode = urllib.parse.urlencode(data).encode("utf-8") my_response = urllib.request.Request(url=url, data=my_encode, headers=header) # build the request object result = urllib.request.urlopen(my_response).read().decode("utf-8") # parse the result my_json_result = json.loads(result) print(my_json_result["translateResult"][0][0]["tgt"]) if __name__=="__main__": while(True): my_translate_input = input("please input you translate word(press ! to quite):") if my_translate_input == '!': break else: translate(my_translate_input)
之前爬取没成功,这次成功了,时间为2020,7,2
最关键的是,把 url 里面的 _o 删掉,便能请求成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律