requests get 请求解析xml

__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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值