Condivisione della tecnologia

Python richiede il crawler

2024-07-12

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

La libreria delle richieste di Python è una libreria HTTP potente e facile da usare per l'invio di richieste HTTP e l'elaborazione delle risposte. È uno dei framework di web crawler più popolari in Python ed è ampiamente utilizzato per estrarre dati da pagine web, eseguire la scansione di siti web ed effettuare chiamate API.

Utilizzando la libreria delle richieste, puoi inviare facilmente varie richieste HTTP, tra cui GET, POST, PUT, DELETE, ecc. Puoi creare un oggetto di richiesta HTTP, impostare le intestazioni della richiesta, il corpo della richiesta e altri parametri, quindi inviare la richiesta e ottenere la risposta. La libreria delle richieste fornisce molti metodi utili per elaborare le risposte, tra cui l'ottenimento del contenuto della risposta, l'analisi di JSON, l'analisi di HTML, ecc.

Se le richieste non sono installate nell'ambiente Python locale, è possibile immettere il comando nella finestra del prompt dei comandi

pip install requests

Installa il modulo richieste

Possiamo aprire una pagina web a piacimento, F12->"Ctrl+R" per aggiornare, fare doppio clic sull'elemento nel nome

Puoi vedere User-Agent e Cookie

Di seguito sono riportate alcune funzioni e utilizzi della libreria delle richieste di uso comune:

  1. Invia una richiesta GET:

    response = requests.get(url)
    

  2. Invia richiesta POST:

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

  3. Imposta le intestazioni della richiesta:

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

  4. Passa parametri URL:

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

  5. Inviare file:

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

  6. Ottieni il contenuto della risposta:

    print(response.text)
    

  7. Analizza la risposta JSON:

    json_data = response.json()
    

  8. Analizza la risposta HTML:

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

  9. Gestione delle eccezioni:

    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)

Quanto sopra è solo una piccola parte delle funzioni della libreria delle richieste. Fornisce anche molte altre funzioni e opzioni avanzate, come la gestione delle sessioni, l'autenticazione, le impostazioni proxy, ecc., che possono aiutarti a effettuare facilmente la scansione del web e le chiamate API.

Routine completa della funzione di richiesta:

  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