Aprendizagem do rastreador Python (dois) - módulo de solicitações

módulo de pedidos

1. Instalação:

1. Digite na linha de comando:

pip install requests

2. Instalação da roda:

Baixe o arquivo de roda correspondente: link: https://pypi.python.org/pypi/requests/version#downloads

Em seguida, digite o diretório do arquivo wheel na linha de comando e use pip para instalar

pip install 文件名

2. Uso básico

(1) Método de solicitação GET:


import requests

r = requests.get(url='',params='' )
print(r.text)

Vamos fazer uma solicitação ao URL do Baidu:


import requests

r = requests.get(url='https://www.baidu.com')

print(type(r))  # 查看响应类型
print(r.status_code)  # 打印状态码
print(r.cookies)  # 返回cookies

Resultado de impressão:


<class 'requests.models.Response'>
200
<RequestsCookieJar[<Cookie BDORZ=27315 for .baidu.com/>]>

Solicitação GET para informações adicionais:

Defina o parâmetro params e passe no dicionário

import requests

data = {
    
    
        'name' : 'tom',
        'age' : '22'
    }

r = requests.get(url='https://httpbin.org/get' , params=data)

print(r.text)

Os resultados são os seguintes:

  "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 "
}

Neste ponto, o url é unido emhttps://httpbin.org/get?name=tom&age=22

Use get para distribuir e rastrear o ícone do site 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) Solicitação POST:

Na pós-solicitação, use dados para passar parâmetros.

import requests

data = {
    
    'name':'tom','age':'22'}
r = requests.post('https://httpbin.org/post', data = data)
print(r.text)

3. Uso avançado

(1) Upload de arquivo: O
arquivo enviado deve estar no mesmo diretório que o script.


import requests

files = {
    
    'file' : open('favicon.ico','rb')}
r = requests.post('https://httpbin.org/post',files=files)
print(r.text)

(2) Cookies

Use solicitações para obter cookies:


import requests

r = requests.get(url='https://www.baidu.com' )
print(r.cookies)
for key,value in r.cookies.items():
    print(key + '=' + value)

Primeiro chame o atributo cookies para obter Cookies, então use o método items () para se transformar em uma lista de tuplas, e cruze e produza cada cookie.

(3) Manutenção da sessão:

Objeto de sessão:

Em solicitações, o uso direto de get ou post para solicitar uma página da web realmente produz sessões diferentes, o que é equivalente a usar dois navegadores para abrir páginas diferentes.

A sessão pode facilmente manter uma sessão sem se preocupar com cookies.

Os exemplos são os seguintes:


import requests

requests.get(url='https://httpbin.org/cookies/set/number/123465789' )
r = requests.get(url='https://httpbin.org/cookies' )
print(r.text)

Faça uma solicitação para um site de teste, defina um cookie chamado número com o valor 123456789 e, em seguida, solicite este URL para tentar obter seus cookies.

O resultado da execução não capturou seus cookies:

{
	 "cookies": {}
}

Experimente com a sessão:


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)

O resultado da operação é bem sucedido para obter cookies

	{
    "cookies": {
    "number": "123465789"
           }
	}

(4) Verificação do certificado SSL:

Solicite o site https para evitar SSLError. Esse problema pode ser resolvido definindo o parâmetro verify no método requests.get () como Fales.

requests.get(url='',verify=Fales)

(5) Configurações de proxy: parâmetros de proxies

import requests

proxies = {
    
    
	'http' : '代理网址1'
	'https' : '代理网址2'
}
requests.get('url' ,proxies=proxies)

(6) Verificação de identidade: parâmetro de autenticação

Ao visitar o site, a autenticação pode ser realizada.
Neste momento, você pode usar a função de autenticação que vem com as solicitações:

import requests
from requests.auth import HTTPBasicAuth

r = requests.get('url' , auth =  HTTPBasicAuth('username' , 'password'))

Livros de referência e recomendação: https://cuiqingcai.com/5052.html

Acho que você gosta

Origin blog.csdn.net/qq_45742511/article/details/112095845
Recomendado
Clasificación