Что лучше применять для парсинга Selenium(ChromeDriver) + BeautifulSoup или Scrappy?
У меня есть сайт, который при использовании только лишь BeautifulSoup выдает одну html-ку. Если же этот же сайт открыть непосредственно в браузере Chrome, то страничка уже в виде другой html-ки.
В этой ситуации мне хочется понять, что лучше использовать или :
1. Selenenium -> ChromeDriver -> BeautifulSoup и смириться с тем что браузер долго открывается
2. Либо Scrappy
?
UPD:
Один из плюсов для Scrappy это возможность использования XPATH
Scrapy однозначно, большая скорость, кастомизация.
90% JS запросов можно эмулировать в Scrapy.
Если совсем суровая защита - можно привязать к ней splash.
bl: Либо делаете вручную (например, смотрите firebug куда что идёт, мне этого метода хватает на 95% сайтов). Если совсем сложные запросы - можно попробовать использовать Splash, это такой "прокси" от разработчиков того-же scrapy, который рендерит JS и отдаёт вам страницу.
Evgen: Понял о чём вы, смутило слово "эмулировать".
Значит вам везёт. У меня хорошо если 20-30% попадаются с нешифрованным запросом к api. У практически всех крупных сайтов он зашифрован.
bl: Почти все эти зашифрованные API можно подделать.
Возьмём на примере linkedin.
Чтобы нормально отправлять запросы надо собрать хитрый заголовок. Он составляется из двух параметров. Один берётся из исходного кода страницы, второй вычленяется из cookie после авторизации.
Однако прекрасно собирается и работает.
На данный момент сайты, с которыми реально практически невозможно взаимодействовать через scrapy - это те, которые защищены by Distil Networks. Хотя на одном из таких сайтов я и с selenium'ом встрял.