lib通过保存祖先和清除css来提取html元素

chopper的Python项目详细描述


pypitraviscoveralls

chopper是一个通过保留祖先和css规则从html中提取元素的工具。

与python兼容>;=2.6,<;=3.4

安装

pip install chopper

快速启动

fromchopper.extractorimportExtractorHTML="""
<html>
  <head>
    <title>Test</title>
  </head>
  <body>
    <div id="header"></div>
    <div id="main">
      <div class="iwantthis">
        HELLO WORLD
        <a href="/nope">Do not want</a>
      </div>
    </div>
    <div id="footer"></div>
  </body>
</html>
"""CSS="""
div { border: 1px solid black; }
div#main { color: blue; }
div.iwantthis { background-color: red; }
a { color: green; }
div#footer { border-top: 2px solid red; }
"""extractor=Extractor.keep('//div[@class="iwantthis"]').discard('//a')html,css=extractor.extract(HTML,CSS)

结果是:

>>>html"""
<html>
  <body>
    <div id="main">
      <div class="iwantthis">
        HELLO WORLD
      </div>
    </div>
  </body>
</html>""">>>css"""
div{border:1px solid black;}
div#main{color:blue;}
div.iwantthis{background-color:red;}
"""

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jar文件中的java图像   jsf如何使用java从资源文件中读取属性   java如何使用BasicDBObject中的数据检索ArrayList中的数据?   java重叠正则表达式第二部分   java 1.6中未给出阶乘递归异常   转换器Java将十进制转换为任意二进制位   java模拟记录器。使用jmock的getLogger()   java将字符串拆分为几个不同的字符串   java清除二维数组中的所有元素   java Libgdx更改单元格大小,而不必重新调整表的大小   字符串为什么下面的Java语句打印“2+2=22”而不是“2+2=4”   java GZip也来自包含文本数据的文件   java如何在请求时仅读取一次Android传感器数据   在Java中将数组引用分配给另一个数组   java在Spring中,Select:multiple使用什么类型?   java clientserver项目中的网络连接超时错误   java MySQL自动增量跳到最近的51   java Flink作业流在使用Flink联合流进行聚合操作后停止