python翻译爬虫_python 翻译爬虫
1 importurllib.request2 importurllib.parse3 importjson4 while 1:5
6 content=input("请输入要翻译的内容:")7 url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=https://www.baidu.com/link"
8 data={}9 data['type']='AUTO'
10 data['i']=content11 data['doctype']='json'
12 data['keyfrom']='fanyi.web'
13 data['ue']='UTF-8'
14 data['typoResult']='true'
15 data=urllib.parse.urlencode(data).encode('utf-8') #urlencode()主要作用就是将url附上要提交的数据。
16 response=urllib.request.urlopen(url,data)17 html=response.read().decode('utf-8')18 target=json.loads(html)19 print("翻译结果: %s" % (target['translateResult'][0][0]['tgt']))
这是form Data中的内容
i:
你好
from:
AUTO
to:
AUTO
smartresult:
dict
client:
fanyideskweb
salt:
1497075070071
sign:
fbdf42a5b8f48f0defc722823ef1be6b
doctype:
json
version:
2.1
keyfrom:
fanyi.web
action:
FY_BY_CLICKBUTTON
typoResult:
true
进行分析,首先引入三个模块,
首先找到网页版有道词典的在线翻译打开检查,找到network,随便翻译一段话,打开产生的数据,
找到在Headers下的form Data表
我们要解决,如何用python进行POst表单提交:这里urlopen函数有一个data参数,如果我们给这个参数赋值,那么请求就是POST方式
如果data没有赋值HTTP请求就是GET方式
在python3的文档里,告诉我们要使用data这个参数,就必须要用urllib.request.urlopen()将其转换为某种格式
step:
我们首先要将data表单的内容进行赋值,不难发现,我们提交的要翻译的内容是通过表单中“i”这一项来传递的。
然后对data进行赋值,注意格式也要转换,并且使用“utf-8”解码
下面利用urllib.request.urlopen()来打开url,并且使用第二参数,将data提交
得到的html页面
由于数据交换使用json传输,这里我们用json.loads()解码,并且将值赋给target
target的值其实是一个字典,
{'smartResult': {'entries': ['', 'hello;hi'], 'type': 1}, 'translateResult': [[{'tgt': 'How are you', 'src': '你好'}]], 'elapsedTime': 1, 'errorCode': 0, 'type': 'ZH_CN2EN'}
字典的操作忘了吗,复习一遍吧:
>>>target={'smartResult': {'entries': ['', 'hello;hi'], 'type': 1}, 'translateResult': [[{'tgt': 'How are you', 'src': '你好'}]], 'elapsedTime': 1, 'errorCode': 0, 'type': 'ZH_CN2EN'}
>>>print(target['translateResult']
[[{'tgt': 'How are you', 'src': '你好'}]]
>>>print(target['translateResult'][0][0]['tgt'])
How are you
over!
(伪造表单,打开页面提交表单,获得返回response,从response中提取结果)
知识点:
1,data=urllib.parse.urlencode(data)
2,response=urllib.request.urlopen(url,data) urlopen第二参数打开url,提交form data
python翻译爬虫_python 翻译爬虫相关推荐
- python网络信息提取_python网络爬虫与信息提取I
一.Requests库的安装 安装Requests非常简单,只需一行代码即可.首先以管理员身份运行cmd,输入如下代码: 1.pip的安装 其实一般安装的python其Script文件包下都会自带有p ...
- python网络爬虫_Python网络爬虫——爬取视频网站源视频!
原标题:Python网络爬虫--爬取视频网站源视频! 学习前提 1.了解python基础语法 2.了解re.selenium.BeautifulSoup.os.requests等python第三方库 ...
- python 百度百科 爬虫_python简单爬虫
爬虫真是一件有意思的事儿啊,之前写过爬虫,用的是urllib2.BeautifulSoup实现简单爬虫,scrapy也有实现过.最近想更好的学习爬虫,那么就尽可能的做记录吧.这篇博客就我今天的一个学习 ...
- c#和python更适合爬虫_python在爬虫方面有哪些优势呢?
python是一门非常不错的编程语言,通俗易懂.适合零基础入门,尤其是爬虫领域有着独特的优势,成为了首选编程语言. Python是一种计算机程序设计语言,是一种动态的.面向对象的脚本语言.Python ...
- python绘制糖葫芦_python简单爬虫(一)
学习python前纠结了下,到底是应该一个个知识点吃透,然后写些小程序.还是应该快速掌握基础语法,快速实践.思考后认为前者这么学习速度真心不高,于是花2天时间看了下python3的语法,虽然很多都不明 ...
- python增量爬虫_python增量爬虫pyspider
1.为了能够将爬取到的数据存入本地数据库,现在本地创建一个MySQL数据库example,然后 在数据库中建立一张表格test,示例如下: DROP TABLE IF EXISTS `test`; C ...
- python分布式编程_python分布式爬虫中的rules有什么用
python分布式爬虫中的rules有什么用 发布时间:2020-11-30 14:04:49 来源:亿速云 阅读:100 作者:小新 这篇文章主要介绍python分布式爬虫中的rules有什么用,文 ...
- python断点续传下载_Python 3 爬虫|第12章:并发下载大文件 支持断点续传
1. stream 流式下载大文件 1.1 stream=True 和 iter_content() 我们将继续使用 Python 3 爬虫|第3章:同步阻塞下载 所搭建的测试环境,在 Nginx 默 ...
- python古诗默写_Python网络爬虫:爬取古诗文中的某个制定诗句来实现搜索
Python网络爬虫:爬取古诗文中的某个制定诗句来实现搜索 发布时间:2020-07-20 23:48:19 来源:51CTO 阅读:883 python编译练习,为了将自己学习过的知识用上,自己找了 ...
- python外国网站爬虫_python 网络爬虫-爬取网页外部网站
前言 上一篇中我们在维基百科的内部网站上随机跳转进入文章类网页,而忽视外部网站链接.本篇文章将处理网站的外部链接并试图收集一些网站数据.和单个域名网站爬取不同,不同域名的网站结构千差万别,这就意味我们 ...
最新文章
- 上海 |《PMCAFF产品经理第一课》报名倒计时手慢无,微博副总裁、丁香园、1号店、淘宝产品总监私房干货分享...
- 1-6docker数据共享与持久化
- 系统架构师学习笔记-数据通信与计算机网络(一)
- PyTorch | torch.linspace()创建均分数列张量 | torch.linspace()如何使用?| torch.linspace()使用方法 | torch.linspace例子
- emacs 替换模式_如何使用Emacs Org模式撰写博客
- go 输入输出流(io)
- Java中的GC(垃圾回收)log
- 5 获取窗口位置_详解:四种方法教你对Python获取屏幕截图(PyQt , pyautogui)
- Halcon 找圆测量工具
- [OT]“蓝帽”会议
- Laravel5.5前后台分离
- win10蓝牙已配对连接不上_win10蓝牙耳机连接不上怎么办_win10蓝牙耳机连接不上的解决方法...
- 产品商业需求文档_【器】我的产品需求文档心法
- 若依的${params.dataScope}
- win11 删除系统自带输入法
- Origin绘图—如何添加参考线
- 关于Too many re-renders. React limits the number of renders to prevent an infinite loop.的解决方案
- 正确将图片保存到相册的方法
- 【复试笔记】市政工程-流体力学
- 蓝桥杯web:7.【数据交互】天气预报查询
热门文章
- 阿里云实时数据加工服务的设计及实践
- 机器学习笔记(七):线性回归 | 凌云时刻
- 与生命赛跑,Serverless提升AI诊断效率90% | 凌云时刻
- 三分钟了解云存储网关 使用场景
- 李扬:2018春节港澳游(上篇:行)
- 【TWVRP】基于matlab遗传算法求解带时间窗+带充电桩的无人机巡检路径规划问题【含Matlab源码 YC001期】
- 【车位识别】基于matlab模板匹配车位识别【含Matlab源码244期】
- 【优化求解】基于matlab蚁群算法的函数优化分析【含Matlab源码 219期】
- python爬虫xpath提取数据_Python网络爬虫四大选择器(正则表达式、BS4、Xpath、CSS)总结...
- ai人工智能操控什么意思_为什么要建立AI分散式自治组织(AI DAO)