CoderCastrov logo
CoderCastrov
Анализ данных

Парсинг веб-сайта с помощью Python — Парсинг деталей мобильных телефонов Flipkart в Индии

Парсинг веб-сайта с помощью Python — Парсинг деталей мобильных телефонов Flipkart в Индии
просмотров
3 мин чтение
#Анализ данных

Введение

Этот проект посвящен парсингу деталей мобильных телефонов Flipkart в Индии. Я использовал базу данных с веб-сайта Flipkart и выполнил поиск мобильных телефонов в разделе поиска для проекта.

Название веб-сайта - Flipkart

На этом веб-сайте содержится вся информация о различных телефонах и их характеристиках, таких как название продукта, цена, рейтинг, описание, изображение и т. д. Я попытался собрать информацию о мобильных телефонах, представленных на сайте (которые отображаются в разделе поиска).

Я собрал следующую информацию о каждом отдельном мобильном телефоне.

Также для более подробного анализа обратитесь к моей записной книжке Jovian здесь.

Вот шаги, которые я выполнил для выполнения этого проекта.

1: Импорт необходимых библиотек

Здесь я использовал библиотеку Beautiful Soup для парсинга страниц. Beautiful Soup - это пакет для Python, который, как и название подразумевает, парсит нежелательные данные и помогает организовать и форматировать беспорядочные веб-данные, исправляя некорректный HTML и представляя их в виде легко обрабатываемых XML-структур. Короче говоря, Beautiful Soup - это пакет для Python, который позволяет извлекать данные из HTML и XML-документов.

Я использовал requests для получения ответа URL-адреса с веб-сайта.

Pandas необходим для преобразования необработанной информации в чистый фрейм данных для просмотра CSV-файла.

2: Проверка доступности нескольких страниц по определению URL

Сегодня я пытаюсь парсить несколько страниц, поэтому я хотел убедиться, что все страницы доступны. Для этого я просто использовал цикл while с номерами страниц в качестве переменной и вывел все ссылки.

3: Использование простого цикла while для получения необходимой информации

Здесь я сначала использовал цикл while, чтобы получить информацию о одном значении из 10 страниц, а именно название серии солнечных панелей. Для этого я объявил список, используя функцию find_all(), я получил информацию по имени класса. Цикл while используется для изменения номера страницы. Каждый раз, когда цикл выполняется, информация из тега li сохраняется внутри списка с названиями серий.

Функция general_list()

Функция general_list() является обобщенной функцией, которая может использоваться для получения информации с нескольких страниц с различными тегами и классами.

Параметры включают в себя общее количество страниц, которые нужно спарсить или номер последней страницы, список, который может содержать собранную информацию, имя тега, из которого нужно собирать данные, и, наконец, имя класса для правильного сбора аналогичных тегов.

Для перехода от начальной страницы к последней странице я использовал цикл while с переменной страницы, которая увеличивается в конце.

Функция начинается с установки URL на конкретный адрес, затем ответы получаются с этого сайта с помощью модуля requests с помощью функции get(). Весь ответ парсится как lxml с использованием модуля beautiful Soup.

С помощью простого метода find_all информация извлекается из конкретных тегов, используя их имена классов, и добавляется в список. Этот список можно затем сохранить как Data Frame, что объясняется ниже.

Я повторил процедуру, чтобы получить информацию о названии мобильного телефона с сайта. Позже я добавил все списки в другой список под названием Mobile_details.

Комбинирование различных списков в один словарь

4. Использование Pandas для создания таблицы данных

С помощью метода pd.DataFrame() я создал таблицу, передав список Mobile_details, и проверил ее, распечатав и использовав head()

Таблица данных содержит 1561 строку и 4 столбца

5. Проверка и преобразование таблицы данных в файл CSV

Поскольку таблица данных явно видна в предыдущей ячейке, теперь я преобразую таблицу данных в CSV с помощью метода to_csv()

Ссылки, Заключение и Планы на будущее

Ссылки

Полный анализ можно найти на моей учетной записи Jovian или здесь. Пожалуйста, поставьте лайк, если вам понравилась моя работа.