python3爬虫攻略(4):简单的翻译程序
来源:互联网 发布:java和嵌入式哪个好 编辑:程序博客网 时间:2024/05/04 01:31
通过上面学习的只是,我决定利用百度翻译的接口,写一个简单的翻译小程序。
上一次我们学习了提交表单的案例,那么我们就趁热打铁,写一个简单的翻译程序。
这里我们要引入json和jsonpath
因为百度翻译获取的结果是一个json对象
如图所示
我们要做到的就是把翻译结果从json对象中提取出来,这就需要jsonpath了!
首先安装jsonpath:
下载地址:https://pypi.python.org/pypi/jsonpath
安装方法:点击Download URL链接下载jsonpath,解压之后执行python setup.py install
JSONPATH的简单使用
首先要将json对象转化为python对象
使用json.loads()
然后要取得拿破仑的翻译结果只需要找到根节点下面的data节点下面的dst节点就可以了
$..data..dst(这是这样就可以啦!)
import jsonimport jsonpath#把json对象转换成python对象jsonobj=json.loads(html)#从根节点开始匹配,分别匹配到data和dst节点data=jsonpath.jsonpath(jsonobj,"$..data..dst")
嗯!没错就是这么简单,这里只是简单的介绍一下,具体可以看看官方文档:http://goessner.net/articles/JsonPath
然后贴上所有的代码:
# -*- coding:utf-8 -*-from urllib import request,parseimport jsonimport jsonpath''' query:准备查询的句子 from1:句子是中文还是英文 to:准备翻译成中文还是英文'''query=input("请输入想要翻译的句子或单词:")''' 通过ord判断输入的句子的第一个字符是否是英文 如果输入的是中文,那么则是中文转英文 如果输入的是英文,那么则是英文转中文'''if ord(query[0]) not in range(97,123) and ord(query[0]) not in range(65,91): from1="zh" to="en"else: from1="en" to="zh"#提交post表单的地址,从fiddler中得到的url="http://fanyi.baidu.com/v2transapi"headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"}#表单数据data={ "from":from1, "to":to, "query":query, "transtype":"realtime", "simple_means_flag":3 }#处理成url编码data = parse.urlencode(data).encode('utf-8')req = request.Request(url, headers=headers, data=data)html = request.urlopen(req).read().decode("utf-8")#把json对象转换成python对象jsonobj=json.loads(html)#从根节点开始匹配,分别匹配到data和dst节点data=jsonpath.jsonpath(jsonobj,"$..data..dst")print("翻译结果:%s"%data[0])
运行效果图:
程序完美运行,不过这好像与爬虫无关,但是这又有什么关系呢?
人生苦短,我用Python!
阅读全文
1 0
- python3爬虫攻略(4):简单的翻译程序
- python3爬虫攻略(5):翻译程序打包及代码优化
- 简单Python3爬虫程序(4)融合1,2:不知疲倦的爬虫
- python3爬虫攻略(7):爬虫案例
- python3爬虫攻略(9):requests的使用
- 简单Python3爬虫程序(3)进阶:登录、解压缩、cookies
- 简单Python3爬虫程序(5)进阶:知乎网的登录与用户相关信息爬取
- 一个简单的python3爬虫
- Python3.4 简单抓取爬虫
- Python3 爬虫快速入门攻略
- Python3.4 写一个简单的定向爬虫
- 简单Python3爬虫程序(1)简单架构:队列、集合、正则
- 简单的爬虫程序
- 编写简单的网络爬虫 (python3.2)
- 用Python3实现一个简单的爬虫。
- python3爬虫攻略(1):urllib.request使用(1)
- python3爬虫攻略(2):urllib.request(2)
- python3爬虫攻略(3):利用Fidder抓包!
- Struts2的常用的方法
- VS2017各版本差异
- 美团新业务拓至住宿分享领域 上市布局稳中推进
- 正能量满满!vivo Xplay6库里亲笔签名版拍卖为公益
- 真机测试本地移动端页面
- python3爬虫攻略(4):简单的翻译程序
- 杨元庆最新演讲:“设备+云”模式是联想田里的庄稼和未来
- Linux进程间通信-几种通信方式的比较
- minimum-window-substring
- java线程池 源码详解
- static关键字
- 14.Oracle杂记——数据字典dba_tabespaces
- shell初学习
- C#中wpf引用TeeChart绘制图表