Harser Python 的 HTML 解析器开源项目

我要开发同款
匿名用户2017年03月10日
57阅读
开发技术Python
所属分类Web应用开发、HTML解析器
授权协议MIT

作品详情

Harser是一个简单的PythonHTML解析器。

安装:pipinstallharser

示例代码:

>>> from harser import Harser>>> HTML = '''    <html><body>    <div class="header" id="id-header">        <li class="nav-item" data-nav="first-item" href="/nav1">First item</li>        <li class="nav-item" data-nav="second-item" href="/nav2">Second item</li>        <li class="nav-item" data-nav="third-item" href="/nav3">Third item</li>    </div>    <div>First layer        <h3>Lorem Ipsum</h3>        <span>Dolor sit amet</span>    </div>    <div>Second layer</div>    <div>Third layer        <span class="text">first block</span>        <span class="text">second block</span>        <span>third block</span>    </div>    <span>fourth layer</span>    <img />    <div class="footer" id="id-foobar" foobar="ab bc cde">        <h3 some-attr="hey">            <span id="foobar-span">foo ter</span>        </h3>    </div>    </body></html>'''>>> harser = Harser(HTML)>>> harser.find('div', class_='header').children(class_='nav-item').find('text').extract()# Or just# harser.find(class_='nav-item').find('text').extract()['First item', 'Second item', 'Third item']>>> harser.find(class_='nav-item').get_attr('href').extract()['/nav1', '/nav2', '/nav3']# It is equally>>> harser.find('div', class_='header', id='id-header')>>> harser.find('div', attrs={'class': 'header', 'id': 'id-header'})>>> harser.find(id__contains='bar').get_attr('class').extract()['footer']>>> harser.find(href__not_contains='2').find('text').extract()['First item', 'Third item']>>> harser.find(attrs={'data-nav__contains': 'second'}).next_siblings().find('text').extract()['Third item']>>> harser.find('li').parent().next_siblings(filters={'text__contains': 'Second'}).clean_extract()['<div>Second layer</div>']>>> harser.find('h3', filters={'span.@id__starts_with': 'foo'}).get_attr('some-attr').extract()['hey']>>> harser.find('div').children('h3').xpath'//descendant::div/h3'
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论