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

作者:孤胤 时间:2021-07-08 04:42:05 

前言

大家好

最近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爬取有道词典的方法

来源:https://blog.csdn.net/Spiderman_Feng/article/details/110675766

标签:python,有道词典
0
投稿

猜你喜欢

  • 给在DreamWeaver编写CSS的人一些习惯建议

    2007-12-25 12:10:00
  • 详解torch.Tensor的4种乘法

    2023-08-11 21:09:03
  • “您无权查看该网页”的原因和解决方法

    2008-03-24 16:57:00
  • 基于Python的ModbusTCP客户端实现详解

    2022-02-03 10:54:25
  • vue使用el-upload上传文件及Feign服务间传递文件的方法

    2024-04-28 10:54:45
  • ADO.NET实现对SQL Server数据库的增删改查示例

    2024-01-12 17:37:54
  • Python学习之configparser模块的使用详解

    2022-07-21 23:21:25
  • Python全栈之字符串和列表相关操作

    2022-02-04 04:15:25
  • 详解JavaScript中的this指向问题

    2023-08-23 00:52:03
  • utf8_unicode_ci与utf8_general_ci的区别

    2010-03-03 15:54:00
  • php浅析反序列化结构

    2023-11-17 17:34:37
  • 使用Tensorflow将自己的数据分割成batch训练实例

    2023-06-14 08:18:07
  • 解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题

    2024-04-16 09:26:21
  • pytorch+sklearn实现数据加载的流程

    2022-05-15 14:44:27
  • 浅谈sql连接查询的区别 inner,left,right,full

    2024-01-17 08:23:35
  • 利用div+jquery自定义滚动条样式的2种方法

    2024-04-19 10:18:13
  • Python和C语言利用栈分别实现进制转换

    2022-10-02 15:43:15
  • SQL Server异常代码处理的深入讲解

    2024-01-22 11:42:58
  • 详解python如何通过numpy数组处理图像

    2023-04-07 03:53:20
  • python的类变量和成员变量用法实例教程

    2023-10-26 01:09:58
  • asp之家 网络编程 m.aspxhome.com