Найти - Пользователи
Полная версия: Убить HTML
Начало » Python для экспертов » Убить HTML
1 2
philosof
Подскажите как с помощью питона, убить html-код
Pelmen
:D в смысле убить?
philosof
Открыть страницу, например с помощь модулая urllib,urllib2, и записать в файл весь текст, кроме ХТМЛ тегов.:)
slivlen
philosof
Открыть страницу, например с помощь модулая urllib,urllib2, и записать в файл весь текст, кроме ХТМЛ тегов.
Можно регэкспами попробовать сделать это.
Maximbo
А можно с помощью HTMLParser. Насколько помню, довольно простая в работе отвёртка.
Striver
Сильно от страницы зависит, однако… Конечно можно устроить геноцид всему, что лежит между символами “<” и “>”, регулярными выражениями это нетрудно (или простым поиском), только не каждой странице это поможет. Если там сложная табличная структура или скриптов полно, получится ерунда. А есть сайты, где текст ещё и портят специально, в браузере простым нормальным текстом выглядит, а html-код - просто кошмар. Реально обычно приходится под каждый сайт отдельную программулину писать.
denz
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. Не тестил
kulibinka
через sgmllib просто делается.
Maximbo
denz
python-lxml
включает в себя _libxml2: (http://www.xmlsoft.org) и _libxslt: (http://xmlsoft.org/XSLT)
Читаешь xslt и делаешь с хтмл-ей ним все что тебе приснится :)
По-моему, это для строгого xml, а правила html гораздо мягче.
denz
Maximbo
По-моему, это для строгого xml, а правила html гораздо мягче.
Да, потестил, нормально чистит, но кривые хтмли нужно сначала ровнять.
Нужно валидатором сначала проверять и както ровнять.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB