Разница между BeautifulSoup и искателем Scrapy?

Я хочу создать сайт, на котором показано сравнение цены на Amazon и e-bay. Какие из них будут работать лучше и почему? Я немного знаком с BeautifulSoup, но не с помощью Scraw crawler.

Ответ 1

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

Хотя

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

Проще говоря, с Beautiful Soup вы можете создать нечто похожее на Scrapy. Beautiful Soup - это библиотека, а Scrapy - полная структура.

Источник

Ответ 2

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

Если вы не знаете, какие страницы нужных вам продуктов, хорошим инструментом будет скрап, так как вы можете использовать их сканеры для запуска всех сайтов Amazon/Ebay в поисках продуктов без явного цикла for.

Взгляните на документацию по скрапу, она очень проста в использовании.

Ответ 3

Как я это делаю, это использовать API eBay/Amazon, а не scrapy, а затем анализировать результаты с помощью BeautifulSoup.

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

Ответ 4

Оба используются для анализа данных.

Scrapy

  • Scrapy - это быстрый высокоуровневый веб-сканирование и веб-скребок, используется для обхода веб-сайтов и извлечения структурированных данных со своих страниц.
  • Но он имеет некоторые ограничения, когда данные поступают из java script или loading dynamicaly, мы можем справиться с этим, используя пакеты, такие как всплеск, селен и т.д.

BeautifulSoup

  • Beautiful Soup - это библиотека Python для вытаскивания данных из HTML и XML файлы.

  • мы можем использовать этот пакет для получения данных из java script или динамическая загрузка страниц.

Scrapy with BeautifulSoup - одна из лучших комбо, с которой мы можем работать, для соскабливания статического и динамического содержимого.

Ответ 5

Использование Scrapy вы можете сэкономить кучу коды и начать с структурным программированием, если вы не любите любой из scapy предварительно записанных методов затем BeautifulSoup может быть использован вместо метода Scrapy. Большой проект имеет оба преимущества.

Ответ 6

Различий много, и выбор любого инструмента/технологии зависит от индивидуальных потребностей.

Несколько основных отличий:

  1. BeautifulSoup сравнительно легко освоить, чем Scrapy.
  2. Расширения, поддержка, сообщество больше для Scrapy, чем для BeautifulSoup.
  3. Scrapy следует рассматривать как Spider, а BeautifulSoup - Parser.

Ответ 7

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

  • Экспорт каналов: в основном это позволяет нам сохранять данные в различных форматах, таких как CSV, JSON, jsonlines и XML.
  • Асинхронная очистка: Scrapy использует витую структуру, которая дает нам возможность посещать несколько URL-адресов одновременно, где каждый запрос обрабатывается неблокирующим способом (в основном нам не нужно ждать завершения запроса перед отправкой другого запроса).
  • Селекторы: Здесь мы можем сравнить скрап с красивым супом. Селекторы - это то, что позволяет нам выбирать определенные данные на веб-странице, такие как заголовок, определенный div с именем класса и т.д.). Scrapy использует lxml для разбора, который работает очень быстро, чем красивый суп.
  • Настройка прокси, пользовательского агента, заголовков и т. Д.: scrapy позволяет нам динамически устанавливать и вращать прокси и другие заголовки.

  • Конвейеры элементов. Конвейеры позволяют обрабатывать данные после извлечения. Например, мы можем настроить конвейер для отправки данных на ваш сервер MySQL.

  • Куки: Scrapy автоматически обрабатывает куки для нас.

и т.д.

TLDR: scrapy - это система, которая предоставляет все, что можно нужно строить крупномасштабные обходы. Он предоставляет различные функции, которые скрыть сложность ползания паутины. можно просто начать писать веб сканеры, не беспокоясь о бремени установки.

Красивый суп Beautiful Soup - это пакет Python для анализа документов HTML и XML. Таким образом, с Beautiful soup вы можете анализировать веб-страницу, которая уже была загружена. BS4 очень популярен и стар. В отличие от скрапа,Вы не можете использовать красивый суп только для приготовления гусениц. Для создания сканеров с bs4 вам понадобятся другие библиотеки, такие как запросы, urllib и т.д. Опять же, это означает, что вам потребуется управлять списком просматриваемых URL-адресов, сканировать их, обрабатывать файлы cookie, управлять прокси-сервером, обрабатывать ошибки, создавать собственные функции для передачи данных в CSV, JSON, XML и т.д. Если вы хотите ускорить чем вам придется использовать другие библиотеки, такие как многопроцессорная.

Подводя итог.

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

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

Вы должны определенно использовать scrapy для своего сайта сравнения цен на продукты Amazon и e-bay. Вы можете создать базу данных URL-адресов и запускать сканер каждый день (задания cron, Celery для планирования обходов) и обновлять цену в своей базе данных. Таким образом, ваш сайт всегда будет извлекать данные из базы данных, а сканер и база данных будут действовать как отдельные компоненты.

Ответ 8

BeautifulSoup - это библиотека, которая позволяет извлекать информацию с веб-страницы.

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

Вы можете проверить этот блог, чтобы начать с Scrapyhttps://www.inkoop.io/blog/web-scraping-using-python-and-scrapy/

Ответ 9

BeautifulSoup используется только для анализа HTML и извлечения данных,

Scrapy используется для загрузки HTML, обработки данных и их сохранения.

Для подробного сравнения смотрите это