requests get 请求解析xml
来源:互联网 发布:mysql 经纬度计算距离 编辑:程序博客网 时间:2024/06/08 16:25
__author__ = 'USER'
#encoding:UTF-8
'''
get请求返回的是xml文件
结对对xml的解析中存在中文的问题可以用requests中的content方法,以二进制的方式读取返回的值从而解决转码问题
ElementTree中
1.获取root结构
ElementTree.fromstring(str) 解析字符串形式的xml
ElementTree.parse('path') 解析本地xml文件
2. 通过节点名称获取节点对象
root.getiterator("person")
lst_node_child = lst_node[0].getchildren()[0] 获取节点的所有子对象
3.输出节点的tag text 和attrib(节点名节点值和属性)
node.text
node.tag
node.attrib
'''
import requests
from xml.etree import ElementTree
url = 'http://fy.webxml.com.cn/webservices/EnglishChinese.asmx/Translator'
payload = {'WordKey':'my'}
req = requests.get(url,params=payload)
xml = req.content
#print type(xml)
print xml
root = ElementTree.fromstring(xml)
data_list = root.getiterator('WordKey')
Tr_list = root.getiterator('Translation')
#Orig_list = root.getiterator('Orig')
#trans_list = root.getiterator('Trans')
print '%s : %s'%(data_list[0].tag,data_list[0].text)
print '%s : %s'%(Tr_list[0].tag,Tr_list[0].text)
#for i in zip(Orig_list,trans_list):
# print i[0].text,i[1].text
for Sentence in root.getiterator('Sentence'):
for senchild in Sentence.getchildren():
print senchild.text
#encoding:UTF-8
'''
get请求返回的是xml文件
结对对xml的解析中存在中文的问题可以用requests中的content方法,以二进制的方式读取返回的值从而解决转码问题
ElementTree中
1.获取root结构
ElementTree.fromstring(str) 解析字符串形式的xml
ElementTree.parse('path') 解析本地xml文件
2. 通过节点名称获取节点对象
root.getiterator("person")
lst_node_child = lst_node[0].getchildren()[0] 获取节点的所有子对象
3.输出节点的tag text 和attrib(节点名节点值和属性)
node.text
node.tag
node.attrib
'''
import requests
from xml.etree import ElementTree
url = 'http://fy.webxml.com.cn/webservices/EnglishChinese.asmx/Translator'
payload = {'WordKey':'my'}
req = requests.get(url,params=payload)
xml = req.content
#print type(xml)
print xml
root = ElementTree.fromstring(xml)
data_list = root.getiterator('WordKey')
Tr_list = root.getiterator('Translation')
#Orig_list = root.getiterator('Orig')
#trans_list = root.getiterator('Trans')
print '%s : %s'%(data_list[0].tag,data_list[0].text)
print '%s : %s'%(Tr_list[0].tag,Tr_list[0].text)
#for i in zip(Orig_list,trans_list):
# print i[0].text,i[1].text
for Sentence in root.getiterator('Sentence'):
for senchild in Sentence.getchildren():
print senchild.text
0 0
- requests get 请求解析xml
- requests get请求+json解析
- WSGI.解析GET请求
- WSGI: 解析GET请求
- Python -- 使用requests模块发送GET和POST请求
- python 使用requests 实现 post 和get请求
- python的requests类库(一)requests库和urllib包对比:一个简单get请求
- mknetworkkit get请求 + json 解析
- xml请求,xmlpull解析
- xml解析网络请求
- js请求解析xml
- 网络请求XML解析XML
- 菜鸟学习之路——网络学习GET请求与JSON、XML解析
- Android 通过GET请求利用pull解析器获取XML格式数据在ListView控件显示
- Get方式请求并获取XML数据格式
- post和get请求(xml)
- POST和GET 请求 (XML)
- XML请求数据和解析
- 大页(huge pages) 系列四 ---Transparent HugePages
- PowerMockito.doReturn().when()与Mockito.when().thenReturn()的区别
- mongodb替代品tokumx
- Text Justification
- appfuse常用命令
- requests get 请求解析xml
- Win7下硬盘安装Ubuntu12.04双系统
- 当finally遇上了return
- 设计一个字节数组缓存类
- android-studio 运行项目失败 error code 1
- 专利战估计要打5到10年 作好不盈利准备
- js操作cookie
- 解决cocosbuilder解析加密Tp问题
- gradlew运行所有可选项及解释