Вторая общая черта всех программистов, помимо того, что они решают проблемы, — это лень 😁😁 выполнять повторяющиеся, трудоемкие, утомительные задачи. это считается кошмаром для программистов. Так что же такое Web Scraping и какие проблемы он решает 🤔🤔?

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

1. Что такое парсинг веб-страниц?

2- Почему и когда мы это используем?

3- Легальное использование

4- Как это работает?

5- Как его использовать?

6- Дополнительные ресурсы

Теперь давайте немного поломаем наши головы, не так ли?

Что такое парсинг веб-страниц?

Что ж, мы все знаем, как сделать вещи такими сложными, используя множество причудливых технических слов, но это не мой стиль, веб-скрапинг простыми словами — это извлечение данных с веб-сайтов автоматическим способом, обычно с использованием безголовых браузеров (google chrome) или запроса handlers(node-fetch, axios).

веб-скрапинг также известен как «сбор данных из Интернета» или «извлечение веб-данных», что означает одно и то же.

Зачем и когда его использовать?

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

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

Легальное использование:

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

вы можете прочитать больше об этом предмете здесь:



Как это работает:

Это можно разделить на 2 части:

Концептуально:

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

Технически:

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

веб-скрапинг основан на веб-сканере, иногда называемом веб-пауком, и последний представляет собой прикладное программное обеспечение, которое получает доступ к сети World Wide Web (WWW) и автоматически собирает информацию о страницах, размещенных в Интернете, поэтому веб-сканеры широко используются в браузерах в Чтобы выполнить поиск и индексацию, подробнее о поисковых роботах читайте здесь:

https://en.wikipedia.org/wiki/Web_crawler

Как это использовать:

Я попытаюсь объяснить это на примере, что мы будем делать именно здесь, мы извлечем страницы учебника по JavaScript с веб-сайта javatpoint и сохраним их в файловой системе с помощью node.js, давайте начнем.

Сначала нам нужно установить эти зависимости в проекте node.js:

|npm install cheerio [email protected]

Теперь давайте получим первую HTML-страницу учебника по JavaScript, создадим новое имя файла first_page.js, для этого мы будем использовать библиотеку обработчика запросов node-fetch:

вывод будет таким:

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

как вы можете видеть на изображении ниже, у нас есть все ссылки в «классе левого меню».

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

это даст нам список всех ссылок в левой части меню, см. вывод:

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

теперь ваша папка должна выглядеть так:

В конце вы можете посетить каждую страницу, как если бы вы были в автономном режиме.

Дополнительные ресурсы:

это было введение только для веб-скрейпинга, вот некоторые книги и статьи, которые могут оказаться полезными: