利用python可以实现对百度翻译内容的爬取,具体过程如下:

前期工作

本程序的测试环境为python3.5,Chrome浏览器。进入百度翻译的页面,点开F12进入开发者调试工具,点击network,并清空所有的请求,方便判断点击“翻译”按钮后,会有哪些请求,上述过程如下图所示:

在百度翻译中输入想要翻译的内容,并点击翻译,在network的请求框中可以看到如下一堆的请求:

从上到下依次点击,在Response中,如果发现翻译结果,说明这个就是执行翻译请求的URL。本人对应的request是第四个,即v2transapi,对应的Response为:

因为本人执行的是英译汉,即最后输出的是中文,所以在上述翻译结果中,中文被转码为Unicode编码格式,不影响后续爬取结果,后台转码就可以了,后续会有相应介绍。

对应的Headers(请求头,部分)为:

对于上述请求头中的内容,对我们来说比较重要的有如下几个部分:General:

Request Headers:

Form Data:

Python程序

# coding=utf-8

import requests

url = "https://fanyi.baidu.com/v2transapi"

data = {

"from": "en",

"to": "zh",

"query": "hello",

"transtype": "translang",

"simple_means_flag": "3",

"token": "f8c8ea6c95d6e9e7ba318e136ee2c490",

"sign": "54706.276099" # 随着翻译内容变化而变化

}

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36",

"Cookie": "BDUSS=I2N2tPRVBXZk5zQnZJdmV6QnY5ZDc1anNEU2lrcWVCN25lQ2t6bXJ2amd5a1JiQVFBQUFBJCQAAAAAAAAAAAEAAACiHXkweGllY2hlbmcxOTk1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA9HVvgPR1bcT; BIDUPSID=FCDC0DE1E2A0BC542BE845EF57F0DA5F; PSTM=1560475969; BAIDUID=FCDC0DE1E2A0BC54F756173A5902B1FB:FG=1; locale=zh; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; to_lang_often=%5B%7B%22value%22%3A%22zh%22%2C%22text%22%3A%22%u4E2D%u6587%22%7D%2C%7B%22value%22%3A%22en%22%2C%22text%22%3A%22%u82F1%u8BED%22%7D%5D; from_lang_often=%5B%7B%22value%22%3A%22en%22%2C%22text%22%3A%22%u82F1%u8BED%22%7D%2C%7B%22value%22%3A%22zh%22%2C%22text%22%3A%22%u4E2D%u6587%22%7D%5D; Hm_lvt_afd111fa62852d1f37001d1f980b6800=1561467752,1561468730,1561469040,1561469241; Hm_lpvt_afd111fa62852d1f37001d1f980b6800=1561469241; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1561468730,1561469040,1561469241,1561470454; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1561470454; yjs_js_security_passport=5453d43730575af39e7a665570b61ece7f5fc95b_1561470456_js"

}

response = requests.post(url, data=data, headers=headers)

print(response)

print(response.content.decode('unicode_escape')) # 中文转码

程序说明:url为General中Request URL的地址;

data是将 Form Data中的内容写成字典的形式;

headers是请求头,从Request Headers中将"User-Agent"和"Cookie"提取出来;

response.content.decode(‘unicode_escape’):当相应结果中存在中文的时候,利用这种编码格式进行转码。

结果如下:

注意

由于百度对外部爬虫的限制,在请求头当中,一定要把cookie带上,否则会出现error:997,没有翻译结果等类似的错误。另外data中内容一定要全,经笔者测试,改变翻译内容,data中的sign会发生变化,其他的如token(应该是加密用的),包括请求头中的cookie,user-agent在同一个浏览器下是不会改变的。sign的加入应该是百度为了防止外界直接对url进行请求,而不通过浏览器请求的一种限制吧。

python爬取百度翻译视频_利用python爬取百度翻译内容相关推荐

  1. python爬取电脑本地数据_利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息...

    原标题:利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息 新型肺炎肆虐全国,可以预知,最近一两年地理学中会有一部分论文研究新型肺炎的空间分布及与其他指标的关联分析.获取其患病人 ...

  2. python 替换array中的值_利用Python提取视频中的字幕(文字识别)

    我的CSDN博客id:qq_39783601,昵称是糖潮丽子~辣丽 从今天开始我会陆续将数据分析师相关的知识点分享在这里,包括Python.机器学习.数据库等等. 今天来分享一个Python小项目! ...

  3. python实现批量下载视频_利用Python实现批量下载腾讯视频!

    原标题:利用Python实现批量下载腾讯视频! 导语 利用Python下载腾讯非VIP视频,也就是可以免费观看的视频.做这个的起因是最近在看一个叫"请吃红小豆吧"的动漫,一共三分钟 ...

  4. python人物关系可视化百年孤独_利用python对《乘风破浪的姐姐》可视化

    要说今年最火的综艺节目,兴风作浪--,哦,不对:小明历险记--,也不对,哎!算了,接着看吧-- 一.数据 利用爬虫抓取了百度百科和维基百科上姐姐们的公开数据信息.两个网站均为静态的页面,只需要对相应H ...

  5. python绘制简单城市剪影图_利用Python的folium包绘制城市道路图的实现示例

    写在前面 很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得不说,还是给我的科研工作提供了特别方便的工具,在博客前面我 ...

  6. python把汉字变成拼音英文_利用python将表格中的汉字转化为拼音

    GB18030的字符集标准 http://zbgb5.com/2/StandardDetail479488.htm 缺少包时用pip install 进行安装,例如: pip install xlsx ...

  7. python 16bit转8bit的工具_利用python读取YUV文件 转RGB 8bit/10bit通用

    注:本文所指的YUV均为YUV420中的I420格式(最常见的一种),其他格式不能用以下的代码. 位深为8bit时,每个像素占用1字节,对应文件指针的fp.read(1): 位深为10bit时,每个像 ...

  8. python数据库操作批量sql执行_利用Python如何批量修改数据库执行Sql文件

    利用Python如何批量修改数据库执行Sql文件 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  利用Python如何批量修改数据库执行Sql文件.txt ] (友 ...

  9. python中关于命名的例子_利用Python批量重命名文件(给非技术人员的Python实例参考)...

    Python是一门"优雅"的计算机语言,而且就算10岁的小朋友也能学会,我一直向我身边的同学朋友同事推荐,不管他会不会编程. 这一回我需要完成的任务是把"照片" ...

最新文章

  1. 机器学习入门|快速掌握逻辑回归模型
  2. 雷林鹏分享:PHP 超级全局变量
  3. 关于antd Select 限制选择个数的解决方案
  4. #6284. 数列分块 8 分块
  5. LeetCode 题 - 53. 最大子序和 python解法
  6. 零基础能不能学习web前端开发?
  7. Cause: java.sql.SQLException: Unknown initial character set index ‘255‘ received from server. Initia
  8. Shell 操作 —— 随机数、定时任务
  9. 【转】Roberts 算子
  10. 测视力距离5米还是3米_高度近视眼怎么恢复视力?
  11. NLTK-004:加工原料文本
  12. Ubuntu中挂载使用nas服务器
  13. 怦然心动(Flipped)-6
  14. 前端实现批量下载图片(自己的服务器需设置可跨域请求)
  15. 请查收!顶会AAAI 2020录用论文之自然语言处理篇
  16. ICLR2020国际会议精彩演讲抢先看(含源码)!!
  17. 每日C语言(The 7th day)——折半查找法
  18. 爬楼梯【浙江工商大学oj】
  19. 自己动手用python写豆瓣FM
  20. Http协议网络对时工具

热门文章

  1. 埋线双眼皮的风险性有哪些?埋线双眼皮手术会脱线吗?
  2. mysql语句去重查询总数_mysql查询语句
  3. 内存泄漏和内存溢出有啥区别?
  4. QQ网页浮动客服代码
  5. parrot linux安装试用
  6. 数字经济需发展隐私计算下的数据共享
  7. 太平洋电脑城被骗经历
  8. linux磁盘分区fdisk命令
  9. mysql project_导入project报
  10. 视频教程-走入Vue 2.0-JavaScript