首页 > 编程语言 >Python 的 Requests 和 Httpx 在爬取应用中的一个区别

Python 的 Requests 和 Httpx 在爬取应用中的一个区别

时间:2022-08-15 17:11:49浏览次数:56  
标签:redirects HTTP get Python Httpx httpx requests 默认值 Requests

HTTPX是功能齐全的Python3的HTTP客户端,支持同步和异步API,支持HTTP/1.1 和 HTTP/2。

一般情况下,在爬取网页内容的时候,httpx 与 requests 的基本使用方法几乎是一模一样的。
比如:

import httpx

r = httpx.get('https://xxx.org/get')
print(r)  # <Response [200 OK]>

但是在遇到有重定向的访问时,httpx.get() 和 requests.get() 访问结果却不相同。主要原因是两个库的参数设置有差别。
httpx,get() 有一个参数 follow_redirects= 默认值是 False;而 requests.get() 中的类似参数 allow_redirects= 的默认值是 True.

所以,对 requests 可以正常爬取,而 httpx 却返回 status_code=301 的任务,可以使用指定参数的办法来解决。

import httpx

r = httpx.get('https://xxx.org/get',follow_redirects=True)`

标签:redirects,HTTP,get,Python,Httpx,httpx,requests,默认值,Requests
From: https://www.cnblogs.com/starleex/p/16588845.html

相关文章