0
Я пытаюсь создать функцию, которая очищает лигу от словаря. Однако, похоже, в словарь вместо массива добавляется массив. Каким образом этоСкопировать данные с помощью lxml python
HTML я пытаюсь скрести:
<fieldset>
<legend align="center">
<a href="/dota2/events/297-the-summit-3">The Summit 3</a>
</legend>
</fieldset>
Python функция get_league. self.url является URL, где HTML является
def get_league(self):
request = requests.get(self.url)
tree = html.fromstring(request.content)
league = tree.xpath("//legend[@align='center']/a/text()")
return league
добавление в словарь
data['league'] = self.get_league()[0]
Выход в формате JSON
"league": [
"The Summit 3"
]
Ожидаемый вывод
Что-то не складывается. Это все работает, как и ожидалось, с помощью кода, который вы опубликовали ... вы уверены, что вы разместили правильный материал? Вероятно, вы вызываете 'data ['league'] = self.get_league()' без доступа к элементу 0. – mhawke
Я верю, что 'xpath' вернет список элементов, здесь вы берете первый элемент, но хотите текст внутри (но не уверен, как вы делаете это преобразование JSON). Вы пытались «вернуть лигу [0] .text'? –