利用python爬取有道词典的方法
作者:孤胤 发布时间:2021-07-08 04:42:05
标签:python,有道词典
前言
大家好
最近python爬虫有点火啊,啥python爬取马保国视频……我也来凑个热闹,今天我们来试着做个翻译软件……不是不是,说错了,今天我们来试着提交翻译内容并爬取翻译结果
主要内容
材料
1.Python 3.8.4
2.电脑一台(应该不至于有”穷苦人家“连一台电脑都没有吧)
3.Google浏览器(其他的也行,但我是用的Google)
写程序前准备
打开Google浏览器,找的有道词典的翻译网页(http://fanyi.youdao.com/)
打开后摁F12打开开发者模式,找Network选项卡,点击Network选项卡,然后刷新一下网页
然后翻译一段文字,随便啥都行(我用的程序员的传统:hello world),然后点击翻译
在选项卡中找到以translate开头的post文件
箭头的地方才是真正的提交地址
记住他,写代码时要用
这个是提交电脑的基本信息,记住他,等会儿要用,等会儿伪装成电脑时可以用,因为电脑会有基本信息,而如果是python的话会显示成python3.8.4(因为我的版本是3.8.4),从而容易被服务器禁入
等会儿还要用
好,准备工作做完了,接下来开始干正事了
开始编写爬虫代码
下面是我写的代码,具体我就不细说了
#导入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']))
运行结果
来源:https://blog.csdn.net/Spiderman_Feng/article/details/110675766


猜你喜欢
- 导语由于之前遇到过几次有关于参数类型的坑,以及经常容易把一些参数类型搞混淆,现在做一下有关参数类型的总结记录以及对之前踩坑经历的分析。参数类
- 这是一个很长的故事,嫌长的直接看最后的结论事情经过上周接了个需求,写了个小工具给客户,他要求打包成exe文件,这当然不是什么难事。因为除了写
- Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。要写出 Pythonic(优雅的、地道的、整洁的)代码
- 今天发现一个使用python写的管理cisco设备的小框架tratto,可以用来批量执行命令。下载后主要有3个文件:Systems.py 定
- SQL Server是一种关系型数据库管理系统(RDBMS),由微软公司开发和维护。它支持结构化查询语言(SQL)和Transact-SQL
- 根据用户权限设定用户可以访问哪些页面,用django实现一个简单的demo。1.models.py 文件class level(models
- 本文实例讲述了php 多个变量指向同一个引用($b = &$a)用法。分享给大家供大家参考,具体如下:引用是什么? 引用就是多个变量
- 直接上代码:<?php$array_values['host'] = "host";$array_
- 我就废话不多说了,大家还是直接看代码吧~import numpy as np kernel = np.array([1, 1, 1, 2])
- 一、内容回顾Model- 数据库操作- 验证class A(MOdel):user = email = pwd =Form- class L
- 本文实例展示了PHP实现的格鲁斯卡尔算法(kruscal)的实现方法,分享给大家供大家参考。相信对于大家的PHP程序设计有一定的借鉴价值。具
- 一、条件简化我们编写的查询语句的搜索条件本质上是一个表达式,这些表达式可能比较繁杂,或者不能高效的执行,MySQL的查询优化器会为我们简化这
- 1:安装xlsx和file-savernpm install file-saver xlsx --save2:创建localEx
- xml文件:country.xml<data><country name="shdi2hajk">
- 两个重要点1.获取弹幕的url是以 .xml 结尾2.弹幕url的所需参数在视频url响应的 javascript 中先看代码import
- 偶然在网上发现itchat这个框架,itchat是一个开源的微信个人号接口,它使python调用微信变得非常简单。看到网上有人发自己微信好友
- 前言在我们实际开发中,经常需要将一组数据存储起来,以便使用。如果学习了其他的语言可能知道数组(Array)这个数据结构,它就可以将多个数据进
- isnull()Null 值指出变量不包含有效数据。Null 与 Empty 不同,后者指出变量未经初始化。Null 与零长度字符串 (&q
- 前言: 本篇文章主要介绍MySQL长事务相关内容,比如说我们开启的一个事务,一直没提交或回滚会怎样呢,出现事务等待情况应该如何处理,本篇文章
- 初次安装完PyCharm后,新建项目时,遇到了No Python interpreter selected的问题。意思是说没有找到Pytho