`
zuroc
  • 浏览: 1307202 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

mxTidy - HTML Tidy for Python

阅读更多


抓取的html不处理一下很容易破坏页面的布局

官网的python封装好像不支持linux,囧

另外找了一个

mxTidy - HTML Tidy for Python

网站
http://www.egenix.com/products/python/mxExperimental/mxTidy/

下载
http://www.egenix.com/products/python/mxExperimental/

文档
http://www.egenix.com/products/python/mxExperimental/mxTidy/mxTidy.pdf

我看了半天文档,居然没有找到,不让他输出
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
的接口
只好自己山寨了一个

from mx import Tidy
def tidy(html):
    html=Tidy.tidy(html,output_xhtml=1,wrap=0)[2]
    begin="<body>"
    return html[html.find(begin)+len(begin):html.rfind("</body>")].strip()
   
print tidy('<div>x<img src="xx"><p>')

<div>x<img src="xx" /></div>

htmltidy 的 python 封装(续)


Qiangning Hong
发送至 我

试过,激活tidy会导致进程crash,没有找到原因。

---------------------------
我一测试果然,不知道是封装烂,还是本身就烂

干脆用原始的版本,搞一个进程外调用吧

wget http://nchc.dl.sourceforge.net/sourceforge/tidy/tidy4aug00.tgz

然后安装,然后

from __future__ import with_statement
import subprocess
import os

def tidy(html):
    with os.tmpfile() as temp:
        with open(os.devnull,"w" ) as null:
            print >>temp,html
            temp.seek(0)
            html=subprocess.Popen(
            ["tidy", "-utf8","-asxhtml"],
            stdin=temp,
            stderr=null,
            stdout=subprocess.PIPE
            ).communicate()[0]
    begin="<body>"
    return html[html.find(begin)+len(begin):html.rfind("</body>")].strip()

tidy("<div>x<a>a")

1
0
分享到:
评论

相关推荐

    C++(Qt)软件调试-静态分析工具clang-tidy(18)

    C++(Qt)软件调试-静态分析工具clang-tidy C++(Qt)软件调试-静态分析工具clang-tidy是指使用clang-tidy对C++代码进行静态分析,以发现潜在问题和改进代码质量。clang-tidy是一个开源工具,支持C++/C/Objective-C语言...

    clang-tidy-review:基于clang-tidy警告创建拉取请求评论

    受clang-tidy-diff启发,Clang-Tidy Review仅对pull请求中的更改运行。 这使它变得既好又快速,并且对于尚不完全干净的项目很有用。 返回注释数,因此您可以决定警告是作为建议还是检查失败。 不会通过对同一行重复...

    xcode_tidy:包装clang-tidy的python脚本,模拟clang-static分析器,可在Xcode中运行

    安装Xcode_tidy通常涉及到克隆项目仓库,如"xcode_tidy-master",然后将其添加到你的Xcode构建阶段,这样每次构建项目时,Xcode_tidy脚本就会自动执行。 Xcode_tidy的配置灵活性很高,你可以根据项目需求选择启用或...

    vscode-clang-tidy

    VSCode的Clang-Tidy 此扩展将集成到VS Code中。 特征 运行clang-tidy并在VS Code中显示其诊断信息。 注意:与在示例gif中相比,诊断花费的时间更长。 要求 必须安装Clang-Tidy。 默认情况下,扩展名将在PATH查找...

    Bo-Blog tidy模板

    Bo-Blog tidy模板

    PHP实例开发源码-CSSTidy CSS分析和优化工具.zip

    1. **CSSTidy介绍**: - CSSTidy是PHP开发的开源项目,由Christoph Gießelink创建,旨在清理、压缩和优化CSS代码。 - 它能够解析CSS语法,检测错误,删除冗余规则,合并重复选择器,并对代码进行排序,从而提高...

    Python库 | docker-tidy-0.1.7.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:docker-tidy-0.1.7.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    grunt-at-csstidy:Alloyteam CSS 编码风格格式化工具--grunt 插件

    grunt-at-csstidy Alloyteam 团队规范工具系列——自动整理CSS代码工具。 grunt-at-csstidy 是基于 Grunt '0.4.x' 与 csscomb '3.x' 的Grunt插件。 整合了Alloyteam的团队规范,并解决了部分CSS语法树解析的兼容...

    grunt-at-csstidy:Alloyteam CSS代码自动化整理工具--Grunt 插件

    grunt-at-csstidy Alloyteam 团队规范工具系列——自动整理CSS代码工具。 grunt-at-csstidy 是基于 Grunt '0.4.x' 与 csscomb '3.x' 的Grunt插件。 整合了Alloyteam的团队规范,并解决了部分CSS语法树解析的兼容...

    Pandas-for-Everyone-Python-Data-Analysis.pdf.pdf

    根据所提供的文件内容,以下是关于《Pandas-for-Everyone-Python-Data-Analysis.pdf》一书的相关知识点: 1. Pandas概述与安装 Pandas是一个开源的Python数据分析库,它赋予了Python处理类似电子表格数据的能力,...

    clang-tidy-misra:MISRA C

    clang-tidy-misra是clang-tidy的MISRA合规性检查程序的集合。 进步 该项目尚处于初期阶段,尚未经过广泛的测试! 是否以及如何检查每个规则: “支持者”列的说明: 待定:“待定”-完全没有看过规则 未选中:...

    week-4---tidy_data

    "Week-4---tidy_data"的主题聚焦于理解并应用tidy data原则,这是R语言中进行高效数据分析的基础。在本篇内容中,我们将深入探讨tidy data的概念、它的重要性,以及如何在R环境中实现tidy data的转换。 首先,tidy ...

    vl-simplenn-tidy.m

    该资源为vl_simplenn_tidy.m,欢迎下载使用哦! 注明:DnCNN-matlab版本测试代码文件utilities中需要,下载好,复制粘贴到utilities文件中即可!

    Python库 | tidy_project-0.1.tar.gz

    在本案例中,我们关注的是名为"tidy_project-0.1.tar.gz"的压缩包,这显然是一款针对Python项目的管理库。让我们详细探讨一下这个库可能涉及的知识点以及Python库的一般概念。 首先,"tidy_project"这个名字暗示了...

    SublimeLinter-html-tidy:适用于html的SublimeLinter 3插件

    您可以使用和brew install tidy-html5安装版本。 Linux –您应该能够使用系统的软件包管理器来安装整洁。 Windows – Windows二进制文件可用于版本。 为了使SublimeLinter执行tidy ,必须确保SublimeLinter可以使用...

    NppTidy2:用于Notepad ++HTML-Tidy插件。 使用tidy-html5-https

    请确保您更新tidy-html5模块,以获取最新的源代码,或者使用单独的克隆进行构建,构建和安装HTML Tidy。 。 拼凑的代码需要整理一下,仅花费几个小时即可解决当前的问题。 建造 现在可以使用生成本机生成文件来完成...

    go-mod-tidy-pr:运行`go mod tidy`并在GitHub Actions上创建PullRequest

    例子 用法 # .github/workflows/go-mod-tidy-pr.ymlname : go-mod-tidy-pron : schedule : - cron : " 0 0 * * 1 " # Weekly build workflow_dispatch :jobs : go-mod-tidy-pr : name : go-mod-tidy-pr runs-on : ...

    Notepad++格式化html代码插件Tidy2.dll

    1、下载完之后 我们把解压到Tidy2.dll放到\Notepad++\plugins(安装目录的plugins下) 2、然后重启 Notepad++即可使用 3、需要格式化代码时,点击:Notepad++菜单-&gt;插件-&gt;Tidy2-&gt;Tidy (config1)

    Notepad++ 插件tidy2,格式化HTML,64位

    Tidy2插件是Tidy工具的一个集成,Tidy最初由Dave Raggett开发,是一个用于清理和修复HTML及XML文档的开源软件。Tidy2针对Notepad++进行了优化,可以在编辑器内部直接对HTML代码进行美化、修复语法错误和保持代码整洁...

    利用 clang-tidy 实现 GJB 中的相关代码的自动检测

    实现了 GJB 4.1.1.6, GJB 4.1.2.7, GJB 4.2.1.10, GJB 4.6.1.15, GJB 4.6.2.1, GJB 4.7.2.1, GJB 4.9.1.1, GJB 4.14.1.1, GJB 4.14.1.2

Global site tag (gtag.js) - Google Analytics