利用python爬取有道词典的方法


Posted in Python onDecember 08, 2020

前言

大家好

​ 最近python爬虫有点火啊,啥python爬取马保国视频……我也来凑个热闹,今天我们来试着做个翻译软件……不是不是,说错了,今天我们来试着提交翻译内容并爬取翻译结果

主要内容

 材料

1.Python 3.8.4

2.电脑一台(应该不至于有”穷苦人家“连一台电脑都没有吧)

3.Google浏览器(其他的也行,但我是用的Google)

写程序前准备

打开Google浏览器,找的有道词典的翻译网页(http://fanyi.youdao.com/)

打开后摁F12打开开发者模式,找Network选项卡,点击Network选项卡,然后刷新一下网页

然后翻译一段文字,随便啥都行(我用的程序员的传统:hello world),然后点击翻译

在选项卡中找到以translate开头的post文件

利用python爬取有道词典的方法

箭头的地方才是真正的提交地址

记住他,写代码时要用

利用python爬取有道词典的方法

这个是提交电脑的基本信息,记住他,等会儿要用,等会儿伪装成电脑时可以用,因为电脑会有基本信息,而如果是python的话会显示成python3.8.4(因为我的版本是3.8.4),从而容易被服务器禁入

利用python爬取有道词典的方法

等会儿还要用

好,准备工作做完了,接下来开始干正事了

开始编写爬虫代码

下面是我写的代码,具体我就不细说了

#导入urllib库
import urllib.request
import urllib.parse
import json

while True: #无限循环
 content = input("请输入您要翻译的内容(输入 !!! 退出程序): ")
 #设置退出条件
 if content == '!!!':
  break

 url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' #选择要爬取的网页,上面找过了
 #加上一个帽子,减少被发现的概率(下面head列表的内容就是上面找的)
 head = {}
 head['User - Agent'] = '请替换'

 #伪装计算机提交翻译申请(下面的内容也在在上面有过,最好根据自己的进行修改)
 data = {}
 data['type'] = 'AUTO'
 data['i'] = content
 data['doctype'] = 'json'
 data['version'] = '2.1'
 data['keyfrom:'] = 'fanyi.web'
 data['ue'] = 'UTF-8'
 data['typoResult'] = 'true'
 data = urllib.parse.urlencode(data).encode('utf-8')

 response = urllib.request.urlopen(url, data)
 #解码
 html = response.read().decode('utf-8')

 paper = json.loads(html)

 #打印翻译结果
 print("翻译结果: %s" % (paper['translateResult'][0][0]['tgt']))

运行结果

利用python爬取有道词典的方法

到此这篇关于python爬取有道词典的文章就介绍到这了,更多相关python有道词典内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python字符串处理函数简明总结
Apr 13 Python
python实现批量改文件名称的方法
May 25 Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
利用Python如何生成随机密码
Apr 20 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
python多个模块py文件的数据共享实例
Jan 11 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
详解opencv中画圆circle函数和椭圆ellipse函数
Dec 27 Python
python pprint模块中print()和pprint()两者的区别
Feb 10 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
python IDLE添加行号显示教程
Apr 25 Python
selenium自动化测试入门实战
Dec 21 Python
Python控制鼠标键盘代码实例
Dec 08 #Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
Dec 08 #Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
Dec 08 #Python
Python爬虫之App爬虫视频下载的实现
Dec 08 #Python
Python爬虫进阶之爬取某视频并下载的实现
Dec 08 #Python
selenium框架中driver.close()和driver.quit()关闭浏览器
Dec 08 #Python
Python hashlib和hmac模块使用方法解析
Dec 08 #Python
You might like
php守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
javascript确认框的三种使用方法
2013/12/17 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
Jquery操作cookie记住用户名
2016/03/29 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
jquery实现折叠菜单效果【推荐】
2017/03/08 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
python读取excel表格生成erlang数据
2017/08/26 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
python实现人机猜拳小游戏
2020/02/03 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
python中线程和进程有何区别
2020/06/17 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
美容院店长岗位职责
2014/04/08 职场文书
高中生学习计划书
2014/09/15 职场文书
2014年行政部工作总结
2014/11/19 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
初中语文教学反思范文
2016/03/03 职场文书
15个值得收藏的JavaScript函数
2021/09/15 Javascript
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python