aprendizaje del rastreador de Python 24
contenido
Cuarto, el uso de httpx
4-1 Introducción
Hasta ahora, hemos aprendido el uso de la biblioteca urllib, el uso de la biblioteca de solicitudes y el contenido relacionado de las expresiones regulares. Aquí tenemos que mencionar las limitaciones de la biblioteca urllib y la biblioteca de solicitudes: ambas solo admiten HTTP/1.1 y no admiten HTTP/2.0. Una vez que llegamos a un sitio que solo admite HTTP/2.0, está muerto.
# 此网站就是一个强制使用HTTP/2.0的网站
url = 'https://spa16.scrape.center/'
import requests
resp = requests.get(url)
print(resp.text)
resultado de la operación:
Para lidiar con este dilema, tenemos que usar una herramienta que admita HTTP2.0 - biblioteca httpx
4.2 Instalación de la biblioteca httpx
A la vieja usanza, primero instala una ola
pip install httpx # 先安装 httpx 库
pip3 install httpx[http2] # 然后安装 httpx对HTTP2.0的支持模块
4.3 Uso básico
El uso de la biblioteca httpx es muy similar a las solicitudes:
import httpx
url = 'https://www.baidu.com'
resp = httpx.get(url)
print(resp.status_code)
print(resp.headers)
print(resp.text)
resultado de la operación:
¡es bueno! ¡Muy animado! Déjame probar la conexión que no pude conectar antes:
import httpx
url = 'https://spa16.scrap.center/'
resp = httpx.get(url)
print(resp.status_code)
print(resp.headers)
print(resp.text)
resultado de la operación:
¿Qué sucedió? ¿Por qué no funciona?
No se preocupe, de hecho, httpx no habilitará el soporte para HTTP2.0 de forma predeterminada. En este momento, debemos habilitarlo manualmente:
import httpx
url = 'https://spa16.scrape.center/'
c = httpx.Client(http2=True)
resp = c.get(url)
print(resp.text)
resultado de la operación:
Como se mencionó anteriormente, la biblioteca httpx es muy similar a la biblioteca de solicitudes, de manera similar, la biblioteca httpx también tiene post(), put(), delete(), patch() y otros métodos, puede probarlo usted mismo.
¡Definitivamente no estoy siendo flojo!
Finaliza hoy, continúa mañana