Я хочу сделать сайт, который показывает сравнение между Amazon и E-Bay. Что из этого будет работать лучше и почему? Я немного знаком с BeautifulSoup, но не так много с Scrapy Crawler .
Я хочу сделать сайт, который показывает сравнение между Amazon и E-Bay. Что из этого будет работать лучше и почему? Я немного знаком с BeautifulSoup, но не так много с Scrapy Crawler .
Ответы:
Scrapy - это фреймворк для веб-пауков или веб-скребков. Вы предоставляете Scrapy корневой URL-адрес для начала сканирования, затем вы можете указать ограничения на количество (количество) URL-адресов, которые вы хотите сканировать и получать и т. Д. Это полная структура для просмотра веб-страниц или сканирования .
Пока
BeautifulSoup - это библиотека синтаксического анализа, которая также неплохо справляется с извлечением содержимого из URL и позволяет анализировать некоторые их части без каких-либо хлопот. Он только выбирает содержимое URL, который вы даете, а затем останавливается. Он не сканируется, если вы вручную не поместите его в бесконечный цикл с определенными критериями.
Проще говоря, с Beautiful Soup вы можете создать нечто похожее на Scrapy. Beautiful Soup - это библиотека, а Scrapy - полная структура .
Я думаю, что оба хороши ... я делаю проект прямо сейчас, который использует оба. Сначала я удаляю все страницы с помощью скрапа и сохраняю их в коллекции mongodb, используя их конвейеры, а также загружаю изображения, существующие на странице. После этого я использую BeautifulSoup4, чтобы выполнить pos-обработку, где я должен изменить значения атрибутов и получить некоторые специальные теги.
Если вы не знаете, какие страницы нужных вам продуктов, хорошим инструментом будет скрап, так как вы можете использовать их сканеры для запуска всех сайтов Amazon / Ebay, ищущих продукты, без создания явного цикла for.
Взгляните на документацию по скрапу, она очень проста в использовании.
Оба используют для разбора данных.
Scrapy :
BeautifulSoup :
Beautiful Soup - это библиотека Python для извлечения данных из файлов HTML и XML.
мы можем использовать этот пакет для получения данных из сценария Java или динамической загрузки страниц.
Scrapy with BeautifulSoup - одна из лучших комбинаций, с которой мы можем работать для очистки статического и динамического содержимого.
Для этого я использую API-интерфейс eBay / Amazon, а не скрапбу, а затем анализирую результаты с помощью BeautifulSoup.
API предоставляет вам официальный способ получения тех же данных, которые вы получили бы от сканера Scrapy, и вам не нужно беспокоиться о том, чтобы скрыть свою личность, связываться с прокси и т. Д.
Scrapy Это фреймворк для веб- скрининга, который содержит множество полезных вещей, которые упрощают его, поэтому мы можем сосредоточиться только на логике сканирования. Вот некоторые из моих любимых вещей, о которых заботится скрап.
Настройка прокси, пользовательского агента, заголовков и т. Д .: scrapy позволяет нам динамически устанавливать и вращать прокси и другие заголовки.
Конвейеры элементов : Конвейеры позволяют нам обрабатывать данные после извлечения. Например, мы можем настроить конвейер для передачи данных на ваш сервер MySQL.
Куки: Scrapy автоматически обрабатывает куки для нас.
и т.п.
TLDR: scrapy - это структура, которая предоставляет все, что может понадобиться для создания крупномасштабных обходов. Он предоставляет различные функции, которые скрывают сложность сканирования сетей. Можно просто начать писать веб-сканеры, не беспокоясь о бремени установки.
Beautiful soup Beautiful Soup - это пакет Python для анализа документов HTML и XML . Таким образом, с Beautiful soup вы можете анализировать веб-страницу, которая уже была загружена. BS4 очень популярен и стар. В отличие от скрапа, Вы не можете использовать красивый суп только для изготовления гусениц . Для создания сканеров с bs4 вам понадобятся другие библиотеки, такие как запросы, urllib и т. Д. Опять же, это означает, что вам потребуется управлять списком просматриваемых URL-адресов, сканировать их, обрабатывать файлы cookie, управлять прокси-сервером, обрабатывать ошибки, создавать собственные функции для передачи данных в CSV, JSON, XML и т. Д. Если вы хотите ускорить чем вам придется использовать другие библиотеки, такие как многопроцессорность .
Подводить итоги.
Scrapy - это богатая среда, которую вы можете использовать, чтобы начать писать сканеры без каких-либо проблем.
Красивый суп - это библиотека, которую вы можете использовать для разбора веб-страницы. Он не может быть использован в одиночку для очистки сети.
Вы должны определенно использовать scrapy для своего сайта сравнения цен на продукты Amazon и e-bay. Вы можете создать базу данных URL-адресов и запускать сканер каждый день (задания cron, Celery для планирования обходов) и обновлять цену в своей базе данных. Таким образом, ваш сайт всегда будет извлекать данные из базы данных, а сканер и база данных будут действовать как отдельные компоненты.
BeautifulSoup - это библиотека, которая позволяет извлекать информацию с веб-страницы.
Scrapy, с другой стороны, - это фреймворк, который выполняет все вышеперечисленное и многое другое, что вам может понадобиться в вашем проекте очистки, например конвейеры для сохранения данных.
Вы можете проверить этот блог, чтобы начать работу с Scrapy https://www.inkoop.io/blog/web-scraping-using-python-and-scrapy/
Различий много, и выбор любого инструмента / технологии зависит от индивидуальных потребностей.
Несколько основных отличий: