Недавно мне потребовалось спарсить сайты на движке dle. Почти на всех сайтах запись лежит в div c id='news-id-число'. Регулярные выражения здесь не очень подойдут, т.к откуда контент начинается мы знаем, а вот где заканчивается нет. Внутри много вложенных тэгов, поэтом спарсить всё от <div> до </div> не подойдёт, нужно будет считать кол-во открытых и кол-во закрытых дивов внутри. Тут нам и придёт на помощь Xpath, который с легкостью позволяет осуществлять навигацию по DOM.
import lxml.html
doc = lxml.html.document_fromstring(data)
id = 1
content = doc.xpath('//*[@id="news-id-%s"]'%(id)) # получаем всё что внутри этого div
title = doc.find(".//title").text # Тайтл # получаем title
text = lxml.html.tostring(content[0],pretty_print=True)
Сам путь XPath можно получить с помощью плагинов для firefox, например с помощью Firebug.
Категория:
All
Но спасибо, может вторая попытка будет не такой уж ужасной =)
зато ты дал стимул ещё раз повозиться с XPath =)