当前位置: 首页 > 后端技术 > Python

一篇文章教你用Python网络爬虫获取有道翻译手机版翻译界面

时间:2023-03-26 19:42:18 Python

【1.项目背景】有道翻译作为国内最大的翻译软件之一,拥有庞大的用户量。学习不懂的英语词汇,第一时间找翻译,有道翻译是首选。今天教大家如何获取有道翻译机手机版的翻译界面。[2。项目目标】多语言翻译,可以翻译单词或句子。[3.涉及的库和网站]1.网址如下:http://m.youdao.com/translate2.涉及的库:requests,lxml3,软件:PyCharm[4.项目分析】1、点击F12,点击蓝色将彩色窗口切换到手机模式,运行进入开发者模式,点击网络,找到headers下的formData。2、输入翻译好的词,点击翻译按钮,可以看到这里有两个参数,一个是inputtext(输入的词),一个是type(代表语言)。3.构造一个表单传入这两个参数,改变参数的类型,实现多国翻译。4、通过返回的页面进行xpath分析数据。[5.项目实施】1、导入所需的库,创建一个名为YoudaoSpider的类,定义一个初始化方法init。importrequestsfromlxmlimportetreeclassYoudaoSpider(object):def__init__(self):{}if__name__=='__main__':spider=YoudaoSpider()2.准备url地址和请求头。'''准备url地址'''self.trans_url="http://m.youdao.com/translate"'''请求头'''self.headers={"User-Agent":"Mozilla/5.0(Macintosh;IntelMacOSX10_11_6)AppleWebKit/537.36(KHTML,likeGecko)Chrome/70.0.3538.77Safari/537.36"3.定义get_result方法,传入两个参数,构造表单。defget_result(self,word,fro):'''构造一个formformdata---form是一个字典'''data={'inputtext':word,'type':fro}4.发送请求得到响应,遍历得到的结果。response=requests.post(url=self.trans_url,data=data,headers=self.headers)html=response.content.decode('utf-8')pa=etree.HTML(html)#print(html)pa_list=pa.xpath("//div[@class='generate']/ul/li/text()")foriinpa_list:print("Translateto:"+i)5.判断输入语言类型,调用get_result方法。点击切换语言可以看到各个国家的类型。例如(中转韩):choice=input("1.中转英2.中转韩3.中转法\n请选择1/2/3:\n")ifchoice=='1':fro='ZH_CN2EN'elifchoice=='2':fro='ZH_CN2SP'elifchoice=='3':fro='ZH_CN2FR'word=input("请输入你要翻译的词或句子:")result=spider.get_result(word,fro)[6.【效果展示】1.输入您要翻译的类型。2.输入您要翻译的句子。[七。摘要】1.本文基于Python网络爬虫,利用爬虫库获取有道翻译接口。2.请求接口时框住表单的问题有详细说明。并提供解决方案。3.可以尝试翻译其他语言,更好的理解爬虫的原理。4、自己试一试,你会发现自己也行(世上无难事,只要有心)。5、需要本文源码的朋友可以在后台回复“有道词典”获取。看完这篇文章你有收获吗?请转发分享给更多的人加入IT分享之家群,请在微信后台回复【进群】如果想深入了解Python网络爬虫和数据挖掘,可以上专业网站:http://pdcfighting.com/