Вторая общая черта всех программистов, помимо того, что они решают проблемы, — это лень 😁😁 выполнять повторяющиеся, трудоемкие, утомительные задачи. это считается кошмаром для программистов. Так что же такое 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, если она не существует, и поместит в нее все страницы.
теперь ваша папка должна выглядеть так:
В конце вы можете посетить каждую страницу, как если бы вы были в автономном режиме.
Дополнительные ресурсы:
это было введение только для веб-скрейпинга, вот некоторые книги и статьи, которые могут оказаться полезными: