Найти в Дзене
Креативный дизайн

Основы парсинга в Python: работа с модулем requests и форматом JSON

Введение в мир парсинга может быть увлекательным путешествием для программистов, стремящихся попасть на просторы веб-данных. Python предоставляет удобные инструменты для парсинга, такие как модуль requests для отправки HTTP-запросов и работа с популярным текстовым форматом JSON. Давайте рассмотрим основы парсинга с использованием этих инструментов. При работе с сетями и сайтами часто используется специальный текстовый формат обмена данными JSON. В Python он часто выглядит как словарь или список. Для отправления запроса на сайт и сбора данных с него используется специальная библиотека requests. Процесс отправления запроса на сайт и сбора данных с него называется парсингом. Парсинг — это процесс сбора данных с веб-сайта через отправку HTTP-запросов. В Python для этой цели широко используется библиотека requests. Тем не менее, она не входит в стандартную библиотеку, поэтому её нужно устанавливать дополнительно. Модуль request используется из библиотеки, которой первоначально в Python нет
Оглавление

Введение в мир парсинга может быть увлекательным путешествием для программистов, стремящихся попасть на просторы веб-данных. Python предоставляет удобные инструменты для парсинга, такие как модуль requests для отправки HTTP-запросов и работа с популярным текстовым форматом JSON. Давайте рассмотрим основы парсинга с использованием этих инструментов.

При работе с сетями и сайтами часто используется специальный текстовый формат обмена данными JSON. В Python он часто выглядит как словарь или список.

Для отправления запроса на сайт и сбора данных с него используется специальная библиотека requests. Процесс отправления запроса на сайт и сбора данных с него называется парсингом.

Основы парсинга с модулем requests

Парсинг — это процесс сбора данных с веб-сайта через отправку HTTP-запросов. В Python для этой цели широко используется библиотека requests. Тем не менее, она не входит в стандартную библиотеку, поэтому её нужно устанавливать дополнительно.

Модуль request используется из библиотеки, которой первоначально в Python нет и её надо устанавливать. И называется эта библиотека requests (переводится как запросы). Вызывается эта библиотека строчкой import requests.

После установки этой библиотеки, мы можем импортировать библиотеку в наш код, с помощью строчки ниже:

import requests

После импорта библиотеки и вызова print(my_req) результатом будет <Response [200]>, и вся информация будет храниться в объекте Response. И теперь с этим объектом можно работать, вызывая информацию через точку print(my_req.открывает методы работы показанные ниже)
-2
Эти данные в объекте Response представляют собой JSON-файл — особый текстовый формат обмена данными.

Пример использования requests

Рассмотрим простой пример отправки HTTP-запроса и получения ответа от сервера:

import requests

# Отправляем GET-запрос на веб-сайт
response = requests.get('https://api.example.com/data')

# Проверяем статус-код ответа
print(response)
# <Response [200]>

# Извлекаем данные из ответа в формате JSON
data = response.json()

# Выводим полученные данные
print(data)

Разбор кода

  1. import requests: импортируем библиотеку requests для использования.
  2. response = requests.get('https://api.example.com/data'): отправка GET-запроса на указанный URL. Результат сохраняется в объекте response.
  3. print(response): выводит объект Response, содержащий статус-код HTTP (например, 200, если запрос успешен).
  4. data = response.json(): преобразует данные ответа в формат JSON для удобства работы в Python.
  5. print(data): выводит десериализованные данные, которые теперь можно обрабатывать как обычный словарь или список.

Рекомендации по улучшению

  • Проверьте статус-код ответа перед обработкой данных, чтобы удостовериться в успешности запроса:
-3
  • Используйте блок try-except для обработки возможных ошибок:
-4

Работа с форматом JSON

JSON (JavaScript Object Notation) — это текстовый формат обмена данными, который часто используется для передачи данных между сервером и клиентами (или другими серверами).

JSON применяется в web приложениях, как обмен данными между браузером и сервером, а так же и между серверами.

JSON представляет собой либо набор пар ключ-значение (словарь, хеш-таблица и так далее), либо упорядоченный набор значений (например, список).

В Python JSON представляется в виде словарей или списков.

JSON является одним из стандартизированных форматов.

Пример обработки JSON с помощью модуля json

Python предоставляет встроенный модуль json, позволяющий конвертировать данные из JSON в объекты Python и обратно. Для работы с JSON файлом используется одноимённый модуль JSON.

Рассмотрим примеры десериализации и сериализации:

Десериализация

Методы такие как loads и load выполняют десериализацию файла JSON и позволяют работать с ним, как со словарём.
Методы такие как loads и load выполняют десериализацию файла JSON и позволяют работать с ним, как со словарём.

Разбор кода

  1. import json: импорт модуля для работы с JSON.
  2. json_string = '{"name": "John", "age": 30}': строка в формате JSON.
  3. data = json.loads(json_string): десериализация строки JSON в объект Python (словарь).
  4. print(data['name']) и print(data['age']): вывод значения по ключам из словаря.

Метод load позволяет правильно считывать файл JSON.

С помощью специальной встроенной библиотеки JSON и метода data = json.loads(..., ...), можно преобразовать формат JSON в тот, который нам нужен.

data = json.loads(..., ...) — эта строчка вызывает десериализацию JSON.

При записи json.load (без s), указывает на то, что мы работаем с файлом. То же самое касается и метода json.dump и json.dumps.

JSON — это текстовый формат обмена данными и используется в качестве расширения для файла.

Десериализация в Python — это процесс восстановления объекта из сериализованной формы (файла, строки, байтов и т. п.).  Другими словами, это распаковка байтов в объекты языка программирования, приведение последовательности назад к типам и структурам. Десериализация позволяет восстановить объект с тем же состоянием, в котором он был при сериализации.

Сериализация

-6

Разбор кода

  1. data = {...}: создаём объект Python (словарь).
  2. json_string = json.dumps(data): сериализуем словарь в строку JSON.
  3. print(json_string): выводим строку JSON.

json.dump(data,file) — эта строка вызывает сериализацию JSON.

Методы dump и dumps выполняют сериализацию файла JSON и наоборот, преобразуют в удобный словарь в формате JSON.

Метод dump используется для записи файла JSON.

Сериализация в Python — это процесс преобразования объекта в последовательность байтов или формат, который можно сохранить в файл, передать по сети или сохранить в базе данных.

Рекомендации

  • Если работаете с JSON-файлами, используйте методы json.load и json.dump для чтения и записи файлов соответственно.
-7

Заключение

Понимание основ парсинга и работа с JSON — это важные навыки, которые позволяют эффективно работать с веб-ресурсами и данными. Модули requests и json предоставляют мощные, но простые в использовании инструменты для обработки HTTP-запросов и манипуляции с данными в формате JSON. Овладение этими технологиями откроет вам новые горизонты для работы с современными веб-приложениями.

Полезные ресурсы:

Сонграйтер - создать песню и видео
Креативный дизайн | Дзен

Сообщество дизайнеров в VK

https://vk.com/grafantonkozlov

Телеграмм канал сообщества

https://t.me/grafantonkozlov

Архив эксклюзивного контента

https://boosty.to/antonkzv

Канал на Дзен

https://dzen.ru/grafantonkozlov

---------------------------------------

Бесплатный Хостинг и доменное имя

https://tilda.cc/?r=4159746

Мощная и надежная нейронная сеть Gerwin AI

https://t.me/GerwinPromoBot?start=referrer_3CKSERJX

GPTs — плагины и ассистенты для ChatGPT на русском языке

https://gptunnel.ru/?ref=Anton

---------------------------------------

Донат для автора блога

dzen.ru/grafantonkozlov?donate=true