Compartilhamento de tecnologia

Rastreador de solicitações Python

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

A biblioteca de solicitações do Python é uma biblioteca HTTP poderosa e fácil de usar para enviar solicitações HTTP e processar respostas. É uma das estruturas de rastreador da web mais populares em Python e é amplamente usada para extrair dados de páginas da web, rastrear sites e fazer chamadas de API.

Usando a biblioteca de solicitações, você pode enviar facilmente várias solicitações HTTP, incluindo GET, POST, PUT, DELETE, etc. Você pode criar um objeto de solicitação HTTP, definir os cabeçalhos da solicitação, o corpo da solicitação e outros parâmetros e, em seguida, enviar a solicitação e obter a resposta. A biblioteca de solicitações fornece muitos métodos convenientes para processar respostas, incluindo obtenção de conteúdo de resposta, análise de JSON, análise de HTML, etc.

Se as solicitações não estiverem instaladas no ambiente Python local, você poderá inserir o comando na janela do prompt de comando

pip install requests

Instalar módulo de solicitações

Podemos abrir uma página web à vontade, F12->"Ctrl+R" para atualizar, clique duas vezes no item do nome

Você pode ver o User-Agent e o Cookie

A seguir estão algumas funções e uso da biblioteca de solicitações comumente usadas:

  1. Envie uma solicitação GET:

    response = requests.get(url)
    

  2. Enviar solicitação POST:

    response = requests.post(url, data=payload)
    

  3. Defina cabeçalhos de solicitação:

    1. headers = {'User-Agent': 'Mozilla/5.0'}
    2. response = requests.get(url, headers=headers)

  4. Passe parâmetros de URL:

    1. params = {'key1': 'value1', 'key2': 'value2'}
    2. response = requests.get(url, params=params)

  5. Enviar arquivo:

    1. files = {'file': open('file.txt', 'rb')}
    2. response = requests.post(url, files=files)

  6. Obtenha o conteúdo da resposta:

    print(response.text)
    

  7. Analise a resposta JSON:

    json_data = response.json()
    

  8. Analise a resposta HTML:

    1. from bs4 import BeautifulSoup
    2. soup = BeautifulSoup(response.text, 'html.parser')

  9. Tratamento de exceções:

    1. try:
    2. response = requests.get(url)
    3. response.raise_for_status()
    4. except requests.HTTPError as e:
    5. print('HTTPError:', e)
    6. except requests.ConnectionError as e:
    7. print('ConnectionError:', e)
    8. except requests.Timeout as e:
    9. print('Timeout:', e)
    10. except requests.RequestException as e:
    11. print('RequestException:', e)

O texto acima é apenas uma pequena parte das funções da biblioteca de solicitações. Ela também fornece muitas outras funções e opções avançadas, como gerenciamento de sessão, autenticação, configurações de proxy, etc., que podem ajudá-lo a fazer rastreadores da web e chamadas de API facilmente.

Rotina completa da função de solicitação:

  1. import requests
  2. def get_html(url):
  3. '''
  4. 两个参数
  5. :param url:统一资源定位符,请求网址
  6. :param headers:请求头
  7. :return html 网页的源码
  8. :return sess 创建的会话
  9. '''
  10. # 请求头
  11. headers={'User-Agent': '复制了放这里'}
  12. # 创建Session, 并使用Session的get请求网页
  13. sess = requests.Session()
  14. response = sess.get(url=url,headers = headers)
  15. # 获取网页信息文本
  16. html = response.text
  17. return html, sess