Узнайте, как собирать данные из 50 лучших веб-сериалов IMDb.

Говорят, что к концу 2020 года 44 зеттабайта (1 миллиард ТБ) данных составят всю цифровую вселенную. Но данные, доступные в Интернете, не всегда находятся в том виде, в котором их можно использовать для анализа. Большинство данных, которые отображаются на веб-сайте, являются динамическими, то есть поступают с сервера. Чтобы получить эти данные, мы можем использовать метод извлечения данных, который называется веб-парсингом. Веб-скрапинг - это процесс извлечения контента и данных с веб-сайта с помощью автоматических скриптов. В отличие от очистки экрана, при котором копируются только отображаемые на экране пиксели, при очистке веб-страниц извлекается базовый HTML-код, а вместе с ним и данные, хранящиеся в базе данных. Веб-скрапинг также известен как сбор веб-данных или извлечение веб-данных. Веб-скрапинг можно использовать для

  • Сбор адресов электронной почты. Большинство компаний, занимающихся цифровым маркетингом, используют парсинг веб-страниц для сбора идентификаторов электронной почты и массовой рассылки электронных писем.
  • Исследования и разработки: его можно использовать для сбора большого набора данных (статистики, общей информации, температуры и т. д.) с веб-сайтов, которые анализируются и используются для исследований и разработок.
  • Списки вакансий: подробные сведения о вакансиях и собеседованиях собираются с разных веб-сайтов и затем размещаются в одном месте, чтобы пользователь мог легко их получить.
  • Сравнение цен. Многие службы используют парсеры, такие как ParseHub, для сбора данных с веб-сайтов интернет-магазинов и сравнения цен на товары.

Библиотеки Python, используемые для разметки веб-страниц

В python доступно множество различных библиотек для удаления веб-страниц, но здесь мы использовали Requests, BeautifulSoup и Pandas.

  1. Запросы: он позволяет с легкостью отправлять запросы HTTP / 1.1 и не требует ручного добавления строк запроса к вашим URL-адресам или формального кодирования данных POST.
  2. BeautifulSoup: используется для очистки веб-страниц для извлечения данных из файлов HTML и XML. Он создает дерево синтаксического анализа из исходного кода страницы, которое можно использовать для извлечения данных в иерархической и более удобочитаемой форме.
  3. Pandas: Pandas в основном используется для анализа данных. Pandas позволяет импортировать данные из файлов различных форматов, таких как значения, разделенные запятыми, JSON, SQL, Microsoft Excel. Pandas позволяет выполнять различные операции с данными, такие как слияние, изменение формы, выбор, а также очистку данных и функции обработки данных.

Веб-парсинг состоит из 3 основных шагов:

1. Найдите URL-адрес: выберите веб-сайт, с которого вы хотите получить данные. Например, здесь я использовал веб-сайт IMDb, чтобы получить данные 50 лучших веб-сериалов с наивысшим рейтингом. URL-адрес: https://www.imdb.com/search/title/?title_type=tv_series&num_votes=100000,&sort=user_rating,desc

2. Осмотрите страницу: данные обычно вкладываются в теги. Итак, мы проверяем страницу, чтобы увидеть, в какой тег вложены данные, которые мы хотим очистить. Чтобы проверить страницу, просто щелкните элемент правой кнопкой мыши и выберите «Проверить».

3. Найдите данные, которые нужно извлечь: В этом примере я собираюсь извлечь данные из названия веб-сериала, года его выпуска, жанра и рейтингов IMDb, которые находятся во вложенном «div» »Теги.

4. Напишите код: Для этого вы можете использовать любую Python IDE. Здесь я использовал Jupyter Notebook.

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

import request
from bs4 import BeautifulSoup
import pandas as pd

Создайте пустые переменные для хранения очищенных данных:

name=[] #List to store name of the series
ratings=[]
genre=[]
year=[]

Теперь введите URL-адрес, по которому вы хотите получить данные. Библиотека запросов используется для отправки HTML-запросов к серверу.

url = "https://www.imdb.com/search/title/title_type=tv_series&num_votes=100000,&sort=user_rating,desc"
content = requests.get(url).content
soup = BeautifulSoup(content,"html.parser")

Используя методы find и findAll в BeautifulSoup, извлеките данные из требуемых тегов и сохраните их в объявленных переменных.

Теперь, используя Pandas Libary, создайте фрейм данных, в котором данные хранятся в структурированном виде, чтобы вы могли экспортировать их в желаемый формат файла. Здесь я экспортировал данные в формате .csv.

df=pd.DataFrame({'Series Title':name, 'Years':year,'Rating':ratings, 'Genre':genre})
df.to_csv('DS-PR1-18IT089.csv', index=False, encoding="utf-8-sig")

О запуске всего кода. Вот снимок CSV-файла, созданный после запуска кода.

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

Больше контента на plainenglish.io