Как получить текст элемента в привязке, используя lxml и запросы? - PullRequest
0 голосов
/ 28 января 2019

Я изучаю запросы Python, и теперь мне нужно знать, как проанализировать html с помощью xpath.

Я получил xpath от Antica на https://www.tibia.com/community/?subtopic=worlds

Это мой код прямо сейчас.

r = requests.get(U'https://www.tibia.com/community/?subtopic=worlds')
tree = html.fromstring(r.content)
worlds = tree.xpath('/html/body/div[3]/div[1]/div[2]/div/div[2]/div/div[1]/div[2]/div[5]/div/div/div/table/tbody/tr/td/div/table/tbody/tr[2]/td/div[2]/div/table/tbody/tr[2]/td[1]/a/text()')
print(worlds)

Я пытался вернуть текст "Antica", но функция xpath возвращает мне пустой список.

1 Ответ

0 голосов
/ 28 января 2019

Я бы порекомендовал использовать красивый суп, потому что это намного проще.

В любом случае, если вы все еще хотите сделать это с lxml, вы можете попробовать что-то вроде

r = requests.get(U'https://www.tibia.com/community/?subtopic=worlds')
tree = html.fromstring(r.content)
all_worlds = tree.xpath('/html/body//tr/td/a/@href')
for url in all_worlds:
    print(url)
...