Вопрос по beautifulsoup, scrapy, python, web-crawler – Разница между BeautifulSoup и Scrapy Crawler?

112

Я хочу сделать сайт, который показывает сравнение между Amazon и E-Bay цены продукта. Что из этого будет работать лучше и почему? Я немного знаком сBeautifulSoup но не так много сScrapy гусеничный.

А что, если я хочу сканировать какой-то другой сайт, у которого нет API? Nishant Bhakta
я из Индии и думаюAmazon-Апи не поддерживает хост Индии. здесь нетAPI (языковой стандарт) для Индии.ХОСТЫ = {'ca ':'ecs.amazonaws.ca ','cn ':'webservices.amazon.cn ','де ':'ecs.amazonaws.de ','es ':'webservices.amazon.es ','фр ':'ecs.amazonaws.fr ','Это': 'webservices.amazon.it ','jp ':'ecs.amazonaws.jp ','Соединенное Королевство': 'ecs.amazonaws.co.uk ','нас ':'ecs.amazonaws.com»} Nishant Bhakta
Зачем вам использовать сканеры, когда оба этих сайта имеют отличный API?aws.amazon.com/python developer.ebay.com/common/api Inbar Rose

Ваш Ответ

7   ответов
0

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

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

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

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

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

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

194

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

В то время как

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

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

источник:http://www.quora.com/Python-programming-language-1/How-is-BeautifulSoup-different-from-Scrapy

Если вы используете BeautifulSoup с блокирующим кодом, Scrapy должна быть быстрее, если есть независимые запросы, но я думаю, что вы также можете использовать BeautifulSoup с Asyncio для повышения производительности. dyeray
Я бы сказал, что Scrapy вместе с BeautifulSoup будут очень быстрыми, и вы сможете получить максимум от обоих. Rahul
что быстрее, я имею в виду, я использую BeautifulSoup, и это займет около 10 секунд, чтобы очистить данные? ли скрапирование быстрее, чем Beautifulsoup? shuboy2014
18

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

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

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

Так могу ли я использоватьScrapy на веб-сервере, потому что есть много таких зависимостей, как (Twisted, pywin32, pyOpenSSL ete ..). (Извините за этот глупый вопрос, я новичок в Python) Nishant Bhakta
На веб-сервере? Я никогда не пробую это ... я использую это на оболочке, выполняю "скрабимя гусеничного чтобы запустить паука ... возможно, вы могли бы использовать это на сервере, но вы должны вызвать это с помощью модуля подпроцесса python (docs.python.org/2/library/subprocess.html). Как я уже говорил, никогда не пытайтесь это сделать, но, возможно, это может сработать ... просто обратите внимание, используйте сообщение журнала от scrapy, чтобы вы знали, где могут возникнуть ошибки на вашем сканере (из журнала импорта scrapy). rdenadai
1

Scrapy:

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

BeautifulSoup:

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

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

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

0

SCRAPY Вы можете сэкономить тонны кода и начать со структурированного программирования, если вам не нравится какой-либо scapyс заранее написанными методами тогдаBeautifulSoup может быть использован вместо метода скрапа. Большой проект имеет оба преимущества.

3

s, а не scrapy, а затем проанализировать результаты с помощью BeautifulSoup.

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

Вопрос явно требует решений, где API недоступны. Rohanil

Похожие вопросы