利用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批量导出导入MySQL用户的方法
Nov 15 Python
改进Django中的表单的简单方法
Jul 17 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
Jun 30 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
May 31 Python
详解PyCharm+QTDesigner+PyUIC使用教程
Jun 13 Python
Python实现计算对象的内存大小示例
Jul 10 Python
python数据化运营的重要意义
Nov 25 Python
python pygame实现挡板弹球游戏
Nov 25 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
Python基于yield遍历多个可迭代对象
Mar 12 Python
Python第三方包之DingDingBot钉钉机器人
Apr 09 Python
Pyhton模块和包相关知识总结
May 12 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 fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
php的4种常用运行方式详解
2016/12/22 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
ext jquery 简单比较
2010/04/07 Javascript
JS字符串截取函数实例
2013/12/27 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
js document.write()使用介绍
2014/02/21 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
Python Socket传输文件示例
2017/01/16 Python
Python文本处理之按行处理大文件的方法
2018/04/09 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
英国团购网站:Groupon英国
2017/11/28 全球购物
国际象棋商店:The Chess Store
2018/07/09 全球购物
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
倡议书范文格式
2014/05/12 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
小学英语复习计划
2015/01/19 职场文书
论文评审意见
2015/06/05 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript