Python爬虫:利用百度翻译简单翻译单词
这是一个很简单的一个小爬虫,只适合最开始学习的小白练手的小项目,我自己学习后练手的一个小项目,很基础,仅仅用于交流。
首先我使用的是requests和json这两个库,如果不会安装的话可以点击下面的链接
https://www.cnblogs.com/dcmywl/p/16051536.html
首先,进入百度翻译
然后打开开发者模式,可以右键然后点击Inspect,或者按F12进入开发者模式
然后,点击Network,之后,随便输入一个单词dog,然后回车,然后点击Fetch/XHR,这个是抓取的Ajax的数据包
使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作,说白了就是只需要接收变化的东西并将其反映在网页,不需要将整个页面(包括不变的地方)都接收,实在想了解可以百度
你会发现有很多包,你可以从以下方面入手,首先我们输入单词后,是发送了一个单词给服务器,这个请求就应该是一个post请求了,因此,先看Headers请求头中的Request Method(请求类型)是post的包,如果是post则看Preview部分,如果看到文本和对应的翻译一致,则这个包就是我们要利用的,可以看到下面的sug就是我们要找的
然后回到该包的Headers,将它的Request URL粘贴复制以备后面使用,可以看到Response Headers(响应头)中的Content-Type数据类型是json类型,这一点也很重要,这关系到我们如何解析响应后的数据。
然后,点击Payload,可以看到给Request URL发送的参数kw是dog,与我们输入的单词一致,看来确实是我们要找的包
好了,前戏都做完了,终于可以开始高潮部分了(前戏很重要哦,开一下车~)
import requests # 导入包肯定都没问题 if __name__ == '__main__': # 指定url,就是我们拿到的那个Request URL post_url = 'https://fanyi.baidu.com/sug' # 进行UA伪装,这个应该影响不大 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36' } def translate(): # 循环是为了可以多次翻译 while True: # post请求参数处理,既然你想翻译任意的单词,肯定需要更改kw的值,不然如何做到随心的输入单词并翻译? kw = input('请输入想翻译的单词(输入q结束):') if kw == 'q': print('谢谢使用') return 1 else: # 将post请求的参数包装到字典中并赋值给data data = { 'kw': kw } try: # 请求发送,我懒得取名字,直接和post函数关键字参数一致, # 传给url的即为上面的post_url,传给关键字参数data的是data(即Payload中的东西) # headers=headers是为了UA伪装 response = requests.post(url=post_url,data=data,headers=headers) # 获取响应数据:json()方法返回的是字典对象(如果确认服务器响应数据是json,才可以使用json() dic_obj = response.json() # 不想细节的处理异常所以直接BaseException了,如果异常直接返回None except BaseException as e: return None # 解析得到的数据,可以再上一步时在终端上打印一下dic_obj,然后看看如何提取数据 # 这个很简单就不赘述了 try: dic = list(dic_obj['data'][0].values()) # 为了结果可以舒服一点就这样处理了 print(dic[0],end='\t') print(dic[1]) except IndexError as e: print('翻译失败,请检查输入的单词是否正确') continue # 调用翻译函数,同时对返回None的情况进行处理,因为懒所以只要返回None就直接打印服务器连接失败 error = translate() if error == None: print('服务器连接失败')
大功告成,一发入魂。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具