Как получить файл XML с веб-сайта, используя Python? - PullRequest
0 голосов
/ 25 апреля 2019

используя библиотеку 'bottle', я должен создать свой собственный API на основе этого сайта http://dblp.uni -trier.de , поэтому мне нужно получить данные для каждого автора.По этой причине я использую следующий формат ссылки 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 голосов
/ 25 апреля 2019

Объект, возвращаемый из requests.get, не является необработанными данными. Вам нужно использовать свойство text, чтобы получить содержимое

Содержание ответа Документация

Обратите внимание, что:

  • response.text возвращает содержимое в формате Unicode
  • response.content возвращает содержимое в байтах
0 голосов
/ 25 апреля 2019
from xml.etree import ElementTree
import requests

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

fromstring Анализирует секцию XML из строковой константы.Эта функция может использоваться для встраивания «литералов XML» в код Python.текст - это строка, содержащая данные XML.parser - необязательный экземпляр 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...