天天看点

pythonrequests解析_Requests-HTML —— Python 的 HTML 解析库

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