módulo de solicitudes
1. Instalación:
1. Ingrese en la línea de comando:
pip install requests
2. Instalación de la rueda:
Descargue el archivo de rueda correspondiente: enlace: https://pypi.python.org/pypi/requests/version#downloads
Luego ingrese el directorio de archivos de la rueda en la línea de comando y use pip para instalar
pip install 文件名
2. Uso básico
(1) Método de solicitud GET:
import requests
r = requests.get(url='',params='' )
print(r.text)
Hagamos una solicitud a la URL de Baidu:
import requests
r = requests.get(url='https://www.baidu.com')
print(type(r)) # 查看响应类型
print(r.status_code) # 打印状态码
print(r.cookies) # 返回cookies
Resultado de la impresión:
<class 'requests.models.Response'>
200
<RequestsCookieJar[<Cookie BDORZ=27315 for .baidu.com/>]>
OBTENER solicitud de información adicional:
Establezca el parámetro params y pase en el diccionario
import requests
data = {
'name' : 'tom',
'age' : '22'
}
r = requests.get(url='https://httpbin.org/get' , params=data)
print(r.text)
Los resultados son los siguientes:
"args": {
"age": "22",
"name": "tom"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.25.0",
"X-Amzn-Trace-Id": "Root=1-5ff01765-639962aa3f8c52747fa309f5"
},
"origin": "111.18.93.192",
"url": "https://httpbin.org/get?name=tom&age=22 "
}
En este punto, la URL se empalma enhttps://httpbin.org/get?name=tom&age=22
Use get para distribuir y rastrear el ícono del sitio de GitHub:
import requests
r = requests.get(url='https://github.com/favicon.ico' )
with open('favicon.ico','wb') as f: #结果保存为favicon.ico
f.write(r.content)
(2) Solicitud POST:
En la solicitud de publicación, use datos para pasar parámetros.
import requests
data = {
'name':'tom','age':'22'}
r = requests.post('https://httpbin.org/post', data = data)
print(r.text)
3. Uso avanzado
(1) Carga de archivo: el
archivo cargado debe estar en el mismo directorio que el script.
import requests
files = {
'file' : open('favicon.ico','rb')}
r = requests.post('https://httpbin.org/post',files=files)
print(r.text)
(2) Galletas
Utilice solicitudes para obtener cookies:
import requests
r = requests.get(url='https://www.baidu.com' )
print(r.cookies)
for key,value in r.cookies.items():
print(key + '=' + value)
Primero, llame al atributo cookies para obtener cookies, luego use el método items () para transformar en una lista de tuplas, y recorra y genere cada cookie.
(3) Mantenimiento de la sesión:
Objeto de sesión:
En las solicitudes, el uso directo de get o post para solicitar una página web en realidad produce sesiones diferentes, lo que equivale a usar dos navegadores para abrir páginas diferentes.
Session puede mantener fácilmente una sesión sin preocuparse por las cookies.
Los ejemplos son los siguientes:
import requests
requests.get(url='https://httpbin.org/cookies/set/number/123465789' )
r = requests.get(url='https://httpbin.org/cookies' )
print(r.text)
Realice una solicitud a un sitio web de prueba, establezca una cookie denominada número con un valor de 123456789 y luego solicite esta URL para intentar obtener sus cookies.
El resultado de la ejecución no capturó sus cookies:
{
"cookies": {}
}
Pruébelo con Session:
import requests
s = requests.Session()
s.get(url='https://httpbin.org/cookies/set/number/123465789' )
r = s.get(url='https://httpbin.org/cookies' )
print(r.text)
El resultado de la operación es exitoso para obtener cookies.
{
"cookies": {
"number": "123465789"
}
}
(4) Verificación del certificado SSL:
Solicite el sitio https para evitar SSLError. Este problema se puede resolver configurando el parámetro de verificación en el método request.get () en Fales.
requests.get(url='',verify=Fales)
(5) Configuración de proxy: parámetros de proxies
import requests
proxies = {
'http' : '代理网址1'
'https' : '代理网址2'
}
requests.get('url' ,proxies=proxies)
(6) Verificación de identidad: parámetro de autenticación
Al visitar el sitio web, se puede realizar la autenticación.
En este momento, puede usar la función de autenticación que viene con las solicitudes:
import requests
from requests.auth import HTTPBasicAuth
r = requests.get('url' , auth = HTTPBasicAuth('username' , 'password'))
Libros de consulta y recomendación: https://cuiqingcai.com/5052.html