извлечь текст из вложенного div с помощью xpath - PullRequest
0 голосов
/ 29 ноября 2018

Я хотел бы получить текст внутри тега h2

<p>Mi. 5. Dezember 2018</p>
<h2>Slam: Jägerschlacht</h2>
<p>Einlass 19:30 Uhr // Beginn 20:30 Uhr</p>
<p>Tickets: 4€</p>

из этой страницы с xpath.Проблема в том, что я не могу найти правильный xpath со всеми div.Все, что я получаю, когда использую этот код Python

from lxml import html
import requests

page = requests.get("https://www.gruener-jaeger-stpauli.de/")
tree = html.fromstring(page.content)
text = tree.xpath("/html/body/div/div/div/div/div/div/div[1]/div/div[2]/div/div/div[1]/div/a[1]/h2")

print (text)

, это [<Элемент h2 в 0x25ae6341a98>]

1 Ответ

0 голосов
/ 30 ноября 2018

Лучше использовать рукописный XPath вместо сгенерированного пути.

Попробуйте сделать так, чтобы получить первый h2 -элемент (выбирая все дочерние элементы текстового узла, используя /text())

"//a[contains(@class, 'event_box_gj')][1]/h2/text()")

или бросьте [1], чтобы получить их все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...