Обмен технологиями

Поисковый робот запросов Python

2024-07-12

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

Библиотека запросов Python — это мощная и простая в использовании библиотека HTTP для отправки HTTP-запросов и обработки ответов. Это одна из самых популярных платформ веб-сканирования на Python, которая широко используется для извлечения данных с веб-страниц, сканирования веб-сайтов и выполнения вызовов API.

Используя библиотеку запросов, вы можете легко отправлять различные HTTP-запросы, включая GET, POST, PUT, DELETE и т. д. Вы можете создать объект HTTP-запроса, установить заголовки запроса, тело запроса и другие параметры, а затем отправить запрос и получить ответ. Библиотека запросов предоставляет множество удобных методов для обработки ответов, включая получение содержимого ответа, анализ JSON, анализ HTML и т. д.

Если запросы не установлены в локальной среде Python, вы можете ввести команду в окне командной строки.

pip install requests

Установить модуль запросов

Мы можем открыть веб-страницу по своему желанию: F12->"Ctrl+R" для обновления, дважды щелкните элемент в имени.

Вы можете увидеть User-Agent и Cookie.

Ниже приведены некоторые часто используемые функции библиотеки запросов и их использование:

  1. Отправьте GET-запрос:

    response = requests.get(url)
    

  2. Отправить POST-запрос:

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

  3. Установите заголовки запроса:

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

  4. Передайте параметры URL:

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

  5. Отправить файл:

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

  6. Получите содержимое ответа:

    print(response.text)
    

  7. Разберите ответ JSON:

    json_data = response.json()
    

  8. Разберите HTML-ответ:

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

  9. Обработка исключений:

    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)

Вышеупомянутое — это лишь малая часть функций библиотеки запросов. Она также предоставляет множество других расширенных функций и опций, таких как управление сеансами, аутентификация, настройки прокси и т. д., которые могут помочь вам легко выполнять сканирование веб-страниц и вызовы API.

Полная процедура функции запроса:

  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