#!/usr/bin/env python
# -*- coding:utf-8 -*-import urllib.request
import urllib.parse
import json
import ssl# 通过抓包工具,获取接口
post_url = 'https://fanyi.baidu.com/v2transapi'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36','Accept': '*/*',# 'Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9','Connection': 'keep-alive',# Content-Length: 103,# Content-Type: application/x-www-form-urlencoded; charset=UTF-8'Cookie': 'BAIDUID=5825D3624FFD2FF79AD102CCE35CF40D:FG=1; PSTM=1532620217; BIDUPSID=4CA0F78CD45B4F46C5E80CFE8C9EB708; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=26524_1434_21122_26350; BDSFRCVID=TWtsJeCCxG3Z5YJ7d-o458x4OlRaCS_xAsmV3J; H_BDCLCKID_SF=tRk8oI-XJCvbfP0k247Hhn8thmT22-uS-K5bSCD-tCDahIPxDIj5MJ08Hq3EhtvtKD5KW-bVfMFbV-O_bfbT2MbyjN7wbjbbHm_JhnQPbb5DMU-wLPnMhU3BeabZqjDetnFJoK85f-3bfTruM-r2Mt6H-UnLq5vW057Z0lOnMp05fI_mDTJfqfu-btPj5qjH0HnlV4QKLtDVJKO_e6t5D5J0jN-s-bbfHDJK0b7aHJOoDDv3DIc5y4LdLp7xJhItymLf0T67MxnUbDPRhh5HLptm2-Qe2lKeWJLfoKtbJC05bP365ITS-t-e5eT22-usQNvJQhcH0hOWsIOLjqrkjP3DhN8tqnkJBKJN3lORX-nNqn6KDUC0-nDSHHAet63P; delPer=0; PSINO=1; locale=zh; to_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_64ecd82404c51e03dc91cb9e8c025574=1540903147,1540903157,1540903171,1540903195; from_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; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1540903244','Host': 'fanyi.baidu.com','Origin': 'https://fanyi.baidu.com','Referer': 'https://fanyi.baidu.com/','X-Requested-With': 'XMLHttpRequest'
}key = input('请输入翻译的汉字:')
num = input('请输入抓包工具中FormData里的"sign"对应的value:')
# 百度翻译对form要求很严格,所以在构造Form Data时,要参照抓包工具,将数据写全
form_data = {'from': 'en','to': 'zh','query': key,'simple_means_flag': '3',# sign 这个参数,是一个随着key的变动而变动,所以必须在抓包工具中获取'sign': num,'token': 'a4c67ddbb80e05a08756492fe9f227a9',
}# 模仿传递的表单数据要进行编码
form_data = urllib.parse.urlencode(form_data).encode('utf-8')
# 构造请求头
request_headers = urllib.request.Request(url=post_url, data=form_data, headers=headers)
# 全局取消证书验证
ssl._create_default_https_context = ssl._create_unverified_context
# urlopen()函数带着伪装好的请求头向模拟浏览器发送请求,得到一个服务器的响应response
response = urllib.request.urlopen(request_headers)# 如果用response.read().decode('unicode-escape')等效于json的loads和dumps函数操作
# content = response.read().decode('unicode-escape')# 将服务器响应返回的页面进行解码,此时有部分数据依然不能看懂,所以需要对该数据的编码重新调整
content = response.read().decode('utf-8')
print(type(content))# 使用json加载,将字符串转换为python对象,编码utf-8
py_obj = json.loads(content, encoding='utf-8')
# 然后dumps,再将python对象转换为字符串,编码不采用ascii码
string = json.dumps(py_obj, ensure_ascii=False)
print(string)with open('./baudufanyi.json', mode='w', encoding='utf-8') as fp:fp.write(string)'''
如果你代码没有运行成功,可以尝试以下变量:
:key:appel
:num:704513.926512
'''

百度翻译爬虫(案例练习:POST 请求)相关推荐

  1. 最新百度翻译爬虫 获取sign(python爬虫)

    环境: python3 直接上代码: Cookie.User-Agent 填自己的 1.BaiDuTranslateWeb.py import requests import execjs impor ...

  2. Python爬虫之破解百度翻译--requests案例详解(二)

    这节课我们接着上节课的内容,继续学习requests之破解百度翻译案例.我们上节课已经知道了解题思路,这节课我们来看看代码怎么写. 1.首先导入requests模块 ** ** ** ** 2.获取请 ...

  3. Python爬虫之破解百度翻译--requests案例详解(一)

    们通过requests模块讲了简单的网页采集方法,这一节课我们讲一下怎么用requests模块破解百度翻译.其中包含的知识点有post请求.Jason.异步加载等内容.这节课由于信息量比较大,所以分两 ...

  4. python百度翻译爬虫_Python爬虫教程-05-python爬虫实现百度翻译

    使用python爬虫实现百度翻译功能 python爬虫实现百度翻译: python解释器[模拟浏览器],发送[post请求],传入待[翻译的内容]作为参数,获取[百度翻译的结果] 通过开发者工具,获取 ...

  5. python爬百度翻译-爬虫 python爬取百度翻译接口 超详细附源码

    前言 今天教大家如何利用 firefox 分析百度翻译的接口,并用python爬取接口.大家学会后可以干一些有趣的事情,比如做一个自己的翻译软件. 具体内容 1 - 找到URL接口 进入百度翻译的网址 ...

  6. 爬虫-post请求练习-百度翻译爬虫-智能的关联搜索不完整词的猜词搜索

    输入一个不完整的词,可以把相关的相近的词结果都返回 import requestsurl = "https://fanyi.baidu.com/sug" data = {" ...

  7. python百度翻译爬虫_Python的学习价值,python,爬,取,百度,翻译

    # 功能: 进行爬虫项目编写 # 开发时间: 2020/10/26 10:12 import requests import json if __name__ == '__main__': #进行UA ...

  8. 分享两个有趣的爬虫:百度贴吧和百度翻译

    本文首发于我的微信公众号:月小水长 原文地址:https://mp.weixin.qq.com/s/uehzjUl8QEaQHtCx4o4BXg 百度翻译爬虫 程序跑起来的效果是这样的, 自动翻译,而 ...

  9. 网络爬虫的秘密:百度翻译加密参数破解

    一.小试牛刀 在上课的时候,百度翻译之前的那个简单的接口,需要你多次尝试之后才能出来,其实只要我们打开network中的XHR就可以查看到. 步骤1:浏览器打开:fanyi.baidu.com, 按键 ...

最新文章

  1. 京东某程序员哀叹:在大厂快待废了,出去面试问自己kafka,竟然全忘了!
  2. lua 字符串分割_Lua 分隔字符串,可以设置指定分隔符
  3. 带您探究云存储的奥秘,三分钟帮您快速了解OSS
  4. python多线程_thread使用锁
  5. 简单了解关于.net framework的一些常见问题
  6. POJ 3049 DFS
  7. 设计模式 -- 模版模式
  8. 软件著作权申请注意事项(微信小程序)
  9. Android中TextToSpeech的使用
  10. 刷IP工具、刷IP软件的原理和工作过程
  11. 自然语言(NLP)处理流程—IF-IDF统计—jieba分词—Word2Vec模型训练使用
  12. xml保存图片和读取图片
  13. 2023年起,社保断缴1次,这些资格待遇通通取消,一定要注意!
  14. keras 香草编码器_用香草javascript遍历dom
  15. vscode 实现在行尾加分号
  16. 中国人要在太空安家!今天先把大厅送了上去
  17. office正在连接到服务器,excel2010总是显示正在访问打印机,导致打开很慢,怎样...-office正在访问打印机,word一直正在连接到打...
  18. [music]Brand new day--Ryan Star
  19. 南邮软件设计matlab,通信软件设计基础,南邮,实验报告(共10篇).doc
  20. 副业推荐不上班!12小时删!某宝付费买的资源,请低调使用~

热门文章

  1. Qt编写可视化大屏电子看板系统25-模块3设备监控
  2. 【QT】Qt Compiler Detection(编译)
  3. openstack安装newton版本keyston部署(一)
  4. 【目标跟踪】|Exemplar Transformers
  5. 美国漫画历程的阳光面与阴暗面 | 经济学人全球早报精选
  6. SI4703-C19-GMR音频调谐器2频段3 X 3 MM QFN-20
  7. 【matlab图像处理笔记4】【图像变换】(三)图像的霍夫变换
  8. 如何在Android 2.2(Froyo)上创建闹钟快捷方式
  9. lv的snapshot
  10. 解决触摸板synatipics与键盘驱动相冲突问题——win8.1