用于html解析的简单python库

leaf的Python项目详细描述



====

…图片::https://travis-ci.org/penpen/leaf.png?branch=master
:目标:https://travis ci.org/penpen/leaf

…图片::https://covertalls.io/repos/penpen/leaf/badge.png?branch=master
:目标:https://coveralls.io/r/penpen/leaf?分支=主

…图片::https://pypip.in/d/leaf/badge.png
:目标:https://pypi.python.org/pypi//leaf/
:alt:downloads

图片::https://pypip.in/v/leaf/badge.png
:目标:https://pypi.python.org/pypi/leaf/
:alt:最新版本

…图片::https://pypip.in/license/leaf/badge.png
:目标:https://pypi.python.org/pypi/leaf/
:alt:license


----

这是一个简单的“lxml<;http://lxml.de/>;”包装,它添加了一些很好的
功能,使使用lxml变得更好。这个库涵盖了我在
html解析中的所有需要。


dependencies
----

`lxml<;http://lxml.de/>;``很明显:3


等等)
*一些处理文本的好函数
*当然,还有lxml的所有原始特性


description
--


>模块的主要功能(就我而言)是“leaf.parse”。
此函数接受一个HTML字符串作为参数,并返回一个“leaf.parser”对象,该对象包装一个LXML对象。

例如::

document=leaf.parse(sample)
这是:

print link.onclick

您还可以使用标准的lxml方法,比如“object.xpath”、
,它们返回的结果是“leaf.parser”对象。

(类似于bbcode)
def omgcode_formatter(element,children):
用换行符替换<;br>;标记
if element.tag=='br':
返回'\n'
将链接包装到[url][/url]
if element.tag=='a':
返回u“[url=link}{text}[/url]。格式(link=element.ref,text=children)
仅返回其他元素的子元素。
如果子元素:
返回子元素

此函数将与元素和子元素递归调用(这是具有子元素分析结果的字符串)。

让我们在某个“leaf.parser”对象上调用这个解析器:



测试中提供了更详细的示例。

这个库有一些很好的处理文本的函数:

``到unicode`
将字符串转换为unicode字符串

`` strip`u accents`
从字符串中删除重音

`` strip`u symbols`
从字符串中删除丑陋的unicode符号

`` strip`u spaces`
string

`` strip\u line breaks`
从字符串中删除多余的换行符
更改日志
===


>1.0.1
====
-100%测试覆盖率
-修复了结果包装中的错误(etree.\u元素也有iter!)

1.0
--
-添加python3支持
-第一个产品版本


0.4
----
-修复内部HTML方法
-向解析函数添加**kwargs,在解析器类中添加了内部HTML方法
-cssselect in deps

>0.4.2
----
-通过node.ref='/blah'
-自定义默认值对于GET:文档:get(选择器,默认=无)-Bode.GET。get(选择器,索引)
BR/> 0.4.1BR/> -BR/> -BROL(节点)如果元素存在,返回true,如果元素没有BR/>>BR/>>0.4
--BR/> -首次公开版本

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

推荐PyPI第三方库


热门话题
java JavaFX 11可编辑组合框引发IndexOutOfBoundsException   java选择数组中的数组元素   java我从来没有找到创建2D ArrayList的正确方法   java JPA查找orderById的顶部数据,并按字符串过滤Id   使用java在ejabberd中进行xmpp外部身份验证   从ajax调用向java传递点运算符   java如何使用ReadWriteLock   使用Spring控制器和jQueryAjax的java重定向   java使JFrame中的JPanel可滚动   java如何用多个。jar库?   java EditText在RecyclerView中失去了对滚动的关注   java为什么我们必须扩展Servlet或GenericServlet或HttpServlet来创建Servlet应用程序?如果不扩展,我们可以开发Servlet应用程序吗?   使用递归java查找数组中的最大值   具有不同字段数的html表单的java域传输对象   java文本视图扩展;不支持操作异常   java如何使用iText的HTMLWorker类将多语言HTML字符串呈现为PDF