Comments 27
Чем лучше packages.python.org/pyquery/?
вот тоже очень интересует
Как минимум в pyquery нет конвертации в другой язык разметки. И не уверен насчет .get. Вообще, когда писалась библиотека из распространненых парсеров были только BeautifulSoup и lxml, первый довольно кривой, для второго и была написана эта обертка. Плюс, субъективно эта библиотека проще.
Плюс, как мне показалось pyquery больше направлен на модификацию html, а leaf на сам парсинг.
А сейчас реализована конвертация в markdown?
Было бы интересно получить функцию наподобие «упростить форматирование» из эвернота.
Было бы интересно получить функцию наподобие «упростить форматирование» из эвернота.
Сейчас в планах есть написать готовые конверторы для популярных языков разметки, а пока можно написать самому. Там получаются очень простые конверторы. Если сильно нужно, могу сегодня сделать markdown.
Просто я не уверен, что можно так в лоб перегонять. Сходу только вложенные p и списки на ум приходят. В таком случае нужно поверх написать prettify-катор. Да и со стилями опять же могут быть проблемы.
Те конвертеры которые я видел не делают ничего хорошого из реальной страницы.
Библиотека однозначно удобная по синтаксису.
Те конвертеры которые я видел не делают ничего хорошого из реальной страницы.
Библиотека однозначно удобная по синтаксису.
Ну, если в странице болд отображается через:
то такой текст довольно сложно сконвертировать. В остальных же случаях все более-менее нормально.
<p class="text-bold">blah</p>
то такой текст довольно сложно сконвертировать. В остальных же случаях все более-менее нормально.
Буквально 3 дня назад писал конвертер html -> bbcode, учесть всё и везде не так просто, буду следить за развитием этого проекта. Спасибо за наводку.
PS Вот например минимум 3 способа отцентровать текст в html:
PS Вот например минимум 3 способа отцентровать текст в html:
<div align="center">
<div style="text-align: center">
<center>
Ты конечно молодец,
но такое уже есть!
но такое уже есть!
UFO just landed and posted this here
Это не «велосипед», это как-бы такой толстый запрос на сравнение по функционалу или производительности, чтобы определиться переходить или нет. Ну я так считаю.
Причем тут не нужно? Есть две обертки поверх lxml, интересно их сравнение, а так же что сподвигло автора написать свою.
Не знаю в чем проблема. Если нужно просты выдергивать значения, если сделать регепс, то он будет работать. Данные штуки, скорее всего, для тех кто не понимает регепсы. Ну я так считаю, если не прав, поправьте…
Вообще, парсить различные языки разметки, такие как html регекспами считается плохим тоном, т.к. такие парсеры очень легко ломаются при изменении страницы.
Также, парсер сделанный для определенной разметки будет работать быстрее, чем для любой.
Да и при использовании html парсеров код получается красивей, чище и более легко поддерживается.
Также, парсер сделанный для определенной разметки будет работать быстрее, чем для любой.
Да и при использовании html парсеров код получается красивей, чище и более легко поддерживается.
Обертка для обертки, но в любом случае на заметку возьмем.
По поводу генерации XML в другие языки разметки — тут лаконичнее смотрелся бы XSLT. По крайней мере он больше контроля дает. К примеру для генерации bb кодов я бы такого плана шаблон наваял вместо вашего примера:
Возможно выглядит неубедительно, но при увеличении количества правил общая сложность понимания почти не растет. Я, например, для эксперимента дописал шаблоны для превращения ul/li и ol/li в Markdown * и #, заголовков в "==", b,i,u тегов в их BB-code аналоги и защиту от script инъекций — уложился в ~50 строк.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version = "1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="br">
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="a[@href]">[url=<xsl:value-of select="@href"/>]<xsl:apply-templates />[/url]</xsl:template>
</xsl:stylesheet>
Возможно выглядит неубедительно, но при увеличении количества правил общая сложность понимания почти не растет. Я, например, для эксперимента дописал шаблоны для превращения ul/li и ol/li в Markdown * и #, заголовков в "==", b,i,u тегов в их BB-code аналоги и защиту от script инъекций — уложился в ~50 строк.
Sign up to leave a comment.
Простая библиотека для парсинга HTML