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

Какой из них лучший? Selenium против Scrapy против Beautifulsoup?

1] Селен:

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

Несмотря на то, что Selenium занимается очисткой веб-страниц, на самом деле это Автоматизация браузера. Он автоматизирует такие задачи, как вход человека в систему, щелчок по странице или прокрутка ссылки вниз и т. д.

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

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

2] Красивый суп:

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

Здесь задействованы три шага:

л. Во-первых, чтобы получить данные с веб-сайта

лл. Затем разберите его

ll. Сохраните вывод.

Beautifulsoup на самом деле делает только второй шаг. Чтобы получить данные с веб-сайта, вам потребуются другие библиотеки или запросы.

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

from ps4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')

for link in soup.find_all ('a'):  
# It helps to find all anchor tag's 
     print(link.get('href'))

Так что это идеальная библиотека для небольших простых проектов,
она удобна для начинающих,
ее недостаток: она медленная и зависит от других библиотек.

3] Скрапирование:

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

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

Однако Scrapy не подходит для начинающих и больше подходит для опытных пользователей. Для серьезной очистки данных от огромных данных Scrapy является ЕДИНСТВЕННЫМ.

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