Я пытаюсь очистить списки со страниц Википедии (например, вот этот: https://de.wikipedia.org/wiki/Liste_der_Bisch%C3%B6fe_von_Sk%C3%A1lholt) в определенном формате. У меня возникают проблемы с совпадением слов "li" и "href".
Например, на приведенной выше странице девятая пуля содержит текст:
1238–1268: Сигвардур Штетмарссон (Норвеж)
с HTML:
<li>1238–1268: <a href="/wiki/Sigvar%C3%B0ur_%C3%9E%C3%A9ttmarsson" title="Sigvarður Þéttmarsson">Sigvarður Þéttmarsson</a> (Norweger)</li>
Я хочу собрать его как словарь:
'1238–1268: Сигвардур Четтмарссон (Норвеж):' / wiki / Sigvar% C3% B0ur_% C3% 9E% C3%A9ttmarsson '
[Весь текст обеих частей' li 'и' a 'child]: [href of' a 'child]
Я знаю, что могу использовать lxml / etree для этого, но я не совсем уверен, как. Некоторая рекомбинация ниже?
from lxml import etree
tree = etree.HTML(html)
bishops = tree.cssselect('li').text for bishop
text = [li.text for li in bishops]
links = tree.cssselect('li a')
hrefs = [bishop.get('href') for bishop in links]