Здравствуйте, Mr.Cat, Вы писали:
MC>Буду признателен, если кто-нибудь напомнит, о каких либах шла речь, или подскажет годную либу для выковыривания данных из веб-страничек для питона/ruby (но и другие языки, если что — тоже подойдут).
Здравствуйте, Mr.Cat, Вы писали:
MC>[емнип] MC>Помнится, в одной из веток (о полезности перла) упоминался как killer-feature некий фичастый html-парсер (крайне пригодный для выдирания данных из веб-страничек). Потом было заявлено, что существует порт этой либы на питон. MC>[/емнип] MC>Буду признателен, если кто-нибудь напомнит, о каких либах шла речь, или подскажет годную либу для выковыривания данных из веб-страничек для питона/ruby (но и другие языки, если что — тоже подойдут).
Недавно нарвался на не совсем корректный результат от супа (что привели выше), использовал html5lib, ещё есть lxml (его не трогал)
Здравствуйте, Mr.Cat, Вы писали:
MC> Буду признателен, если кто-нибудь напомнит, о каких либах шла речь, или подскажет годную либу для выковыривания данных из веб-страничек для питона/ruby (но и другие языки, если что — тоже подойдут).
Здравствуйте, Mr.Cat, Вы писали:
MC>[емнип] MC>Помнится, в одной из веток (о полезности перла) упоминался как killer-feature некий фичастый html-парсер (крайне пригодный для выдирания данных из веб-страничек). Потом было заявлено, что существует порт этой либы на питон. MC>[/емнип]
[емнип]
Помнится, в одной из веток (о полезности перла) упоминался как killer-feature некий фичастый html-парсер (крайне пригодный для выдирания данных из веб-страничек). Потом было заявлено, что существует порт этой либы на питон.
[/емнип]
Буду признателен, если кто-нибудь напомнит, о каких либах шла речь, или подскажет годную либу для выковыривания данных из веб-страничек для питона/ruby (но и другие языки, если что — тоже подойдут).
Здравствуйте, Курилка, Вы писали:
К>Здравствуйте, Mr.Cat, Вы писали:
MC>>[емнип] MC>>Помнится, в одной из веток (о полезности перла) упоминался как killer-feature некий фичастый html-парсер (крайне пригодный для выдирания данных из веб-страничек). Потом было заявлено, что существует порт этой либы на питон. MC>>[/емнип] MC>>Буду признателен, если кто-нибудь напомнит, о каких либах шла речь, или подскажет годную либу для выковыривания данных из веб-страничек для питона/ruby (но и другие языки, если что — тоже подойдут).
К>Недавно нарвался на не совсем корректный результат от супа (что привели выше), использовал html5lib, ещё есть lxml (его не трогал)
+1 за lxml. Есть в стандартных пакетах для дебиана и убунты.
In [4]: import lxml.etree as ET
In [5]: doc = ET.HTML('<html><body><h1>privet</h1>blah minor<br><p>unclosed paragraph</body></html>')
In [6]: doc.xpath('//p')
Out[6]: [<Element p at 8464aa4>]
In [7]: ET.tostring(doc)
Out[7]: '<html><body><h1>privet</h1>blah minor<br/><p>unclosed paragraph</p></body></html>'
Версию lxml < 2.0 в мультитредных приложениях стоит применять аккуратно: метод ElementTree.xpath() не отпускает GIL (метод XPath.evaluate() его отпускает, но сам объект XPath не тред-сейфный). Начиная с версии 2.0, это все пофикшено.