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

问题描述 投票:0回答:2

使用'bottle'库,我必须基于这个网站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)
python regex xml api pycharm
2个回答
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文字”。 text是包含XML数据的字符串。 parser是一个可选的解析器实例。如果没有给出,则使用标准XMLParser解析器。返回Element实例。

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

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

0
投票

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

Response Content文档

注意:

  • response.text将内容作为unicode返回
  • response.content以字节形式返回内容
© www.soinside.com 2019 - 2024. All rights reserved.