如何使用python从网站获取XML文件?

时间:2019-04-25 10:06:25

标签: python regex xml api pycharm

使用“瓶”库,我必须基于该网站http://dblp.uni-trier.de创建自己的API,因此我必须获取每个作者的数据。因此,我使用以下链接格式http://dblp.uni-trier.de/pers/xx/'姓氏的首字母'/'lastnamefirstname'.xml

您能帮助我获取XML格式以进行解析并获取所需的信息吗? 谢谢

import bottle
import requests
import re

r = requests.get("https://dblp.uni-trier.de/")

  #the format of my request is 
  #http://localhost:8080/lastname firstname

@bottle.route('/info/<name>')
def info(name):

    first_letter = name[:1]

    #mettre au format Lastname:Firstname
    ...

    data = requests.get("http://dblp.uni-trier.de/pers/xx/" + first_letter     + "/" + family_name + ".xml")

    return data

bottle.run(host='localhost', port=8080)

2 个答案:

答案 0 :(得分:0)

from xml.etree import ElementTree
import requests

url = 'some url'
response = requests.get(url)
xml_root = ElementTree.fromstring(response.content)
  

fromstring 从字符串常量解析XML部分。此函数可用于在Python代码中嵌入“ XML文字”。文字是   包含XML数据的字符串。 parser是可选的解析器实例。如果   未给出,使用标准XMLParser解析器。返回一个元素   实例。

     

如何将XML从字符串加载到ElementTree

from xml.etree import ElementTree
root = ElementTree.fromstring("<root><a>1</a></root>")
ElementTree.dump(root)
OUTPUT
<root><a>1</a></root>

答案 1 :(得分:0)

requests.get返回的对象不是原始数据。您需要使用text属性来获取内容

Response Content文档

请注意:

  • response.text以unicode返回内容
  • response.content以字节为单位返回内容