Requests-HTML - Python 的 HTML 解析库


MIT
跨平台
Python

软件简介

Requests-HTML 对 Requests 进行了封装,添加了解析
HTML 的接口,是一个 Python 的 HTML 解析库。

我们知道 requests 只负责网络请求,不会对响应结果进行解析,因此可以把 requests-html 理解为可以解析 HTML 文档的 requsts
库。requests-html 的代码量非常少,都是基于现有的框架进行二次封装,开发者使用时可更方便调用。它依赖于
PyQueryrequestslxml
等库。

requests-html 具有以下特性

  • 完全支持 JavaScript

  • CSS 选择器

  • XPath 选择器

  • 模拟用户代理(如同真正的网络浏览器)

  • 自动跟踪重定向

  • 连接池和 cookie 持久化

安装

pip install requests-html

使用方法

>>> from requests_html import session

# 返回一个Response对象
>>> r = session.get('https://python.org/')

# 获取所有链接
>>> r.html.links
{'/users/membership/', '/about/gettingstarted/'}

# 使用css选择器的方式获取某个元素
>>> about = r.html.find('#about')[0]

>>> print(about.text)
About
Applications
Quotes
Getting Started
Help
Python Brochure

还有一个非常吸引人的特点是,它能将 HTML 转换为 Markdown 文本

# 将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/)