Форум сайта python.su
Подскажите как с помощью питона, убить html-код
Офлайн
:D в смысле убить?
Офлайн
Открыть страницу, например с помощь модулая urllib,urllib2, и записать в файл весь текст, кроме ХТМЛ тегов.:)
Офлайн
philosofМожно регэкспами попробовать сделать это.
Открыть страницу, например с помощь модулая urllib,urllib2, и записать в файл весь текст, кроме ХТМЛ тегов.
Офлайн
А можно с помощью HTMLParser. Насколько помню, довольно простая в работе отвёртка.
Офлайн
Сильно от страницы зависит, однако… Конечно можно устроить геноцид всему, что лежит между символами “<” и “>”, регулярными выражениями это нетрудно (или простым поиском), только не каждой странице это поможет. Если там сложная табличная структура или скриптов полно, получится ерунда. А есть сайты, где текст ещё и портят специально, в браузере простым нормальным текстом выглядит, а html-код - просто кошмар. Реально обычно приходится под каждый сайт отдельную программулину писать.
Офлайн
python-lxml
включает в себя _libxml2: (http://www.xmlsoft.org) и _libxslt: (http://xmlsoft.org/XSLT)
Читаешь xslt и делаешь с хтмл-ей ним все что тебе приснится :)
Приблизительный темплейт:
<xsl:stylesheet version=“1.0” xmlns:xsl="http://www.w3.org/1999/XSL/Transform“>
<xsl:output
method=”html“
indent=”yes“
encoding=”utf-8“/>
<xsl:template match='node()|text()'>
<xsl:copy-of select=”text()">
</xsl:copy-of>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
P.S. Не тестил
Отредактировано (Апрель 4, 2007 11:10:56)
Офлайн
через sgmllib просто делается.
Офлайн
denzПо-моему, это для строгого xml, а правила html гораздо мягче.
python-lxml
включает в себя _libxml2: (http://www.xmlsoft.org) и _libxslt: (http://xmlsoft.org/XSLT)
Читаешь xslt и делаешь с хтмл-ей ним все что тебе приснится :)
Офлайн
MaximboДа, потестил, нормально чистит, но кривые хтмли нужно сначала ровнять.
По-моему, это для строгого xml, а правила html гораздо мягче.
Офлайн