解析HTML的Python库--Requests-HTML推荐
程序员文章站
2022-05-11 09:53:41
解析HTML的Python库--Requests-HTML推荐
HTML Parsing for Humans, 这句话是库作者(kennethreitz)原话, 提现出了这个库...
解析HTML的Python库--Requests-HTML推荐
HTML Parsing for Humans, 这句话是库作者(kennethreitz)原话, 提现出了这个库的人性化, 话不多说, 来看几个例子吧.
作者以Python官网做的例子, 在这里我用CSDN吧, 嘻嘻.
首先获取首页:
>>> from requests_html import session >>> r = session.get('https://www.csdn.net')
获取所有连接:
r.html.links {'http://blog.csdn.net/sfM06sqVW55DFt1', '/nav/engineering', 'http://www.programmer.com.cn/',...} # 由于这里连接较多 在这里仅仅粘贴一部分
获取所有绝对地址
r.html.absolute_links {'https://www.csdn.net/nav/iot', 'http://blog.csdn.net/sfM06sqVW55DFt1', ... ,}
使用JQuery选择器
>>> my_carousel = r.html.find('#myCarousel', first=True) >>> print(my_carousel.text) 程序员们,你们再这样下去会没朋友的 从一份不合格的白皮书,了解蔡文胜辟谣美链背后的蹊跷 吉利花90亿美元成奔驰母公司最大股东,背后打的什么算盘? 一夜身价暴涨千倍,如何发布自己的ICO? 一个优秀的程序员是如何炼成的 Previous Next
获取元素属性
>>> my_carousel.attrs {'id': 'myCarousel', 'class': 'slide', 'data-ride': 'carousel'}
通过元素获取元素:
>>> my_carousel.find('a') [, ... ,] # 元素过多 不多展示了
将HTML转换为markdown:
>>> print(about.markdown) * [About](/about/) * [Applications](/about/apps/) * [Quotes](/about/quotes/) * [Getting Started](/about/gettingstarted/) * [Help](/about/help/) * [Python Brochure](http://brochure.getpython.info/) # 这里粘贴了作者的例子, CSDN上获取的没有这个例子清晰
支持xpath解析
>>> r.html.xpath('p') [, , ... ,]
上一篇: 哥们糗事多搞笑话