利用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 快速排序代码
Nov 23 Python
详解关于Django中ORM数据库迁移的配置
Oct 08 Python
python实现五子棋小游戏
Mar 25 Python
基于Django统计博客文章阅读量
Oct 29 Python
详解在python操作数据库中游标的使用方法
Nov 12 Python
python列表生成器迭代器实例解析
Dec 19 Python
pytorch的梯度计算以及backward方法详解
Jan 10 Python
Python实现aes加密解密多种方法解析
May 15 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
Mar 02 Python
教你漂亮打印Pandas DataFrames和Series
May 29 Python
pandas中关于apply+lambda的应用
Feb 28 Python
Python批量解压&压缩文件夹的示例代码
Apr 04 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异步调用socket实现代码
2012/01/12 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
PHP字符串的连接的简单实例
2013/12/30 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
angularjs实现时间轴效果的示例代码
2017/11/29 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
vue实现浏览器全屏展示功能
2019/11/27 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
Python turtle绘画象棋棋盘
2019/08/21 Python
python如何实现单链表的反转
2020/02/10 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
英国行业制服供应商:Alexandra
2019/09/14 全球购物
周鸿祎:教你写创业计划书
2013/12/30 职场文书
企业读书活动总结
2014/06/30 职场文书
领导班子四风表现材料
2014/08/23 职场文书
简历自我评价优缺点
2015/03/11 职场文书
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL