Python 的 HTML 解析库 Requests-HTML(Python爬虫)

Python 的 HTML 解析库 Requests-HTML(Python爬虫)

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

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

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

相关推荐