HTMLSession
时间: 2023-08-06 21:07:00 浏览: 72
HttpSession的使用
HTMLSession 是一个基于 requests 库的第三方库,它提供了更加简单易用的 API,可以帮助我们更方便地发送 HTTP 请求和解析响应。
HTMLSession 的主要特点包括:
- 自带 Session 功能,可以保持连接状态,节省多次请求时的时间和资源。
- 自动处理 cookies,可以自动保存和发送 cookies,减少手动处理 cookies 的工作量。
- 内置 lxml 和 BeautifulSoup 解析器,可以帮助我们更方便地解析 HTML 和 XML。
下面是一个使用 HTMLSession 发送请求和解析响应的示例代码:
```python
from requests_html import HTMLSession
session = HTMLSession()
# 发送 GET 请求
response = session.get('https://www.baidu.com')
print(response.status_code)
print(response.text)
# 发送 POST 请求
data = {'name': 'John', 'age': 30}
response = session.post('http://httpbin.org/post', data=data)
print(response.status_code)
print(response.json())
# 解析 HTML
response = session.get('https://www.python.org')
title = response.html.find('title', first=True).text
print(title)
# 解析 XML
response = session.get('https://www.w3schools.com/xml/note.xml')
note = response.xml.find('note', first=True)
to = note.find('to', first=True).text
print(to)
```
在这个示例中,我们首先创建了一个 HTMLSession 对象,然后使用它发送了 GET 和 POST 请求,并对响应进行了解析。注意,当我们使用 response.html 属性解析 HTML 时,它会自动使用 lxml 解析器;当我们使用 response.xml 属性解析 XML 时,它会自动使用 Python 内置的 xml.etree.ElementTree 模块进行解析。
阅读全文