Python爬取百度翻译及网易有道翻译

百度翻译

一、简介

明确翻译链接,百度翻译链接:https://fanyi.baidu.com/,但是该链接不能为我们提供翻译的内容,此时需要在chrome浏览器对百度翻译页面中使用F12启动控制台,在页面中输入要翻译的内容,在左侧的控制台会出现name为sug详细信息,可以看到有多个sug,是因为没输入一个字符会出现一个sug,找到要翻译的那个sug即可。点击preview即可看到要翻译的信息。

二、分析:

以上提到sug中就有翻译的链接,点击Headers即可查看翻译链接:Request URL: https://fanyi.baidu.com/sug,Headers中的信息均为Http协议中的信息,一些常见的请求方式等,最主要的信息是最下面的Form Data 下面的信息,因为每次输入要翻译的字符,都会以Form Data表单的形式传入。

三、代码

# coding = utf-8
# 导入要使用的库  json urllib
import json                   # 用于将python对象转换为json对象,
import urllib.request as ur   # 用于获取链接
import urllib.parse as up     # 用于编码解码
# 先定义一个需要翻译的数据也就是要翻译的数据,以上提到的Form Data 表单,以字典的方式传入
word = input('请输入要翻译的单词或句子:)
data = {'kw':word
}
url = 'https://fanyi.baidu.com/sug'   # 翻译链接
# 先使用parse将data数据进行解码
data_url = up.urlencode(data)
# 构造一个Request对象,进行爬取
request = ur.Request(url=url,data = data_url.encode('utf-8'))
# 将构造的页面对象进行读取
response = ur.urlopen(request)
# print(response) # 字典类型python数据
# 将python对象转换为json对象
ret = json.loads(response)
# print(ret) # 返回一个字典类型json数据
# 根据上面字典返回的信息对其进行切片读取信息
translate = ret['data'][0]['v']
print('翻译结果为:%s'%translate)

有道翻译

一、简介:

明确翻译链接,在有道翻译链接:https://fanyi.youdao.com/,但是该链接不能为我们提供翻译的内容,此时需要在chrome浏览器对百度翻译页面中使用F12启动控制台,在页面中输入要翻译的内容,在左侧的控制台会出现name为translate_o详细信息,点击preview即可看到要翻译的信息。同百度翻译一样。

二、分析

以上提到translate_o中就有翻译的链接,点击Headers即可查看翻译链接:Request URL: https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule,但是使用该链接会出现一个错误信息{‘errorCode’: 50},这是有道做的反爬,需要更改正确链接。以下代码会有展示。此时可以看到Form Data的内容比百度中的多,在开发中只选择有用的数据即可,不清楚全部填写也不影响。

三、代码

# coding = utf-8
# 导入要使用的库  json urllib
import json
import urllib.request as ur
import urllib.parse as up
# 以下链接在爬取时会出现一个错误{'errorCode': 50}
# url = 'https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
# 正确链接将链接中的  translate 后面  _o  去掉。
url = 'https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
word = input('请输入要翻译的单词或句子:')
# data数据传入的Form Data表单数据可以是其中的全部,其实有用的就以下两个。
data = {'i':word,'doctype': 'json'
}
data_url = up.urlencode(data).encode('utf-8')
request = ur.Request(url=url,data=data_url)
response = ur.urlopen(request).read()
ret = json.loads(response)
# print(ret)
translate = ret['translateResult'][0][0]['tgt']
print('翻译结果为:%s'%translate)

Python爬取百度翻译及有道翻译相关推荐

  1. python爬百度翻译-Python爬取百度翻译(利用json提取数据)

    本篇文章给大家带来的内容是关于Python爬取百度翻译(利用json提取数据),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 工具:Python 3.6.5.PyCharm开发工具. ...

  2. python爬取百度使用kw关键字爬取时出现,百度安全验证,解决方法

    python爬取百度使用kw关键字爬取时出现,百度安全验证,解决方法 之前爬取百度用kw时的代码(没有任何问题) import requestsurl = 'http://www.baidu.com/ ...

  3. python爬取百度贴吧图片库_python爬取百度贴吧的图片2

    今天看了一下beautifulsoup库的用法,把昨天的python爬取百度贴吧的图片1的代码更新成使用beautifulsoup库的函数来实现.用的还是不太熟练,但是感觉比正则表达式写起来容易了一些 ...

  4. python爬取百度搜索_使用Python + requests爬取百度搜索页面

    想学一下怎样用python爬取百度搜索页面,因为是第一次接触爬虫,遇到一些问题,把解决过程与大家分享一下 1.使用requests爬取网页 首先爬取百度主页www.baidu.com import r ...

  5. 【Python】python爬取百度云网盘资源-源码

    今天测试用了一下python爬取百度云网盘资源. 标签: <无> 代码片段 [代码][Python]代码 import urllib import urllib.request impor ...

  6. python爬取百度在线语音合成的音频

    python爬取百度在线语音合成 URL:https://ai.baidu.com/tech/speech/tts_online 抓包 api从这里抓包,用的post请求,返回的是base64文件格式 ...

  7. python爬取百度云网盘资源-源码

    今天测试用了一下python爬取百度云网盘资源. 代码片段 import urllib import urllib.request import webbrowser import re def yu ...

  8. Python爬取百度图库

    Python爬取百度图库 页面分析 通过Chrome 的开发者模式,我们可以很发现 百度图库是通过ajax 加载图片的. 每一次都会发送一个请求:https://image.baidu.com/sea ...

  9. python爬取百度贴吧

    利用python爬取百度贴吧的网页,输入贴吧名,起始页,终止页,爬取索要爬取的页面 贴吧 ''' import urllib.request import urllib.parse import ti ...

最新文章

  1. 基于inotify的文件监控方案
  2. 香港中文大学(深圳)罗元教授招收计算机与信息工程全奖博士
  3. 送出orkut邀请,当然如果需要gmail邀请,还有很多
  4. (巴什博弈 sg函数入门1) Brave Game -- hdu -- 1846
  5. 性能测试(三)Jmeter工具
  6. Java面试题系列(X)优化tomcat配置
  7. VS2013中安装配置和使用Boost库
  8. ArcGIS API for JavaScript与 npm
  9. entity framework 动态条件
  10. js中将字符串作为函数名来调用的方法
  11. 东方卫视收视率查询_全国电视台收视率排行榜
  12. Eclipse代码格式化无效解决方案
  13. 微信分享自定义图标大小限制_微信分享时安卓的自定义参数无效的解决办法
  14. testflight怎么做版本更新_TestFlight
  15. 4键电子手表说明书_电子表通用说明书
  16. Science复活远古“蛋白质”,揭示光合作用的“昨天、今天和明天”
  17. C盘容量不足,怎么增加c盘空间?看这5个方法
  18. H5 集成微信自定义分享(兼容 ios android)
  19. (OpenCV+Python)--目标跟踪,背景分割器:KNN、MOG2和GMG
  20. 香港科大2020年TOP12人气热帖@商学院公众号

热门文章

  1. 部分HP笔记本无法使用GHOST软件解决方法
  2. 在项目中应用SpringSecurity权限控制
  3. Java输入某年某月某日,判断这一天是这一年的第几天?
  4. 电机编码器调零步骤_什么是调零对位?伺服电机编码器调零对位方法
  5. 第二章-连接到WAN
  6. 网关 Spring Cloud Zuul 自定义过滤器认证转换 Token
  7. Jenkins的详细安装及使用
  8. BLE4.2链路层(LL)安全机制-LL Privacy
  9. 用 Uno Platform 构建一个 Kanban-style Todo App
  10. C语言实现,古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)