Web scrapping python without browser installed (или Murr-2)
до сих пор старался избегать скрапить сайты, где данные грузятся жаваскримтом динамически. но вот сейчас, похоже, придется.
нашел, как народ это советует делать. используется браузер (файерфокс или хром). мне это не подходит, т.к. там, где будет выполняться скрипт, я не могу их установить.
имеются ли альтернативы чисто пайтоновые? какая-нибудь библиотека, которая сама умеет выполнять жаваскрипт, без помощи браузера?
Речь идёт о многих сайтах, с которых надо данные вытягивать, или об одном? Если сайт один, то можно посмотреть откуда он подгружает данные и попытаться тянуть их напрямую из источника, а не запускать скрипт, который будет это делать.
- милый, так хочется пить, остановись возле киоска, купи воды.
- дорогая, воды не было, я принес тебе печенья : )
речь идет при скрэппинге ВСЕГДА только об одном сайте (начальном). если речь не о поисковой машине.
вы предлагаете "вручную" интерпретировать жаваскрипты сайта и имплементировать их выполнение.
что вы имели ввиду, говоря "не запускать скрипт"? жаваскрипт из пайтона?
речь идет при скрэппинге ВСЕГДА только об одном сайте (начальном)
Слушайте, а вам так необходимо ВСЕГДА нести с апломбом какую-то чушь? Продемонстрировать что вы, якобы, что-то понимаете лучше, а остальные даже не знают О ЧЁМ ОНИ ГОВОРЯТ?
Ну с какого бодуна-то речь при скрапинге идёт "всегда только об одном сайте (начальном)"? Из какого пальца вы это высосали? А если я с сайтов двух магазинов цены дёргаю я что, не скрапингом занимаюсь? Да, в рускоязычном инете более распространено именно "скрапинг" а не "скрэп(п)инг".
вы предлагаете "вручную" интерпретировать жаваскрипты сайта и имплементировать их выполнение.
что вы имели ввиду, говоря "не запускать скрипт"? жаваскрипт из пайтона?
Да, не искать имитатор браузера для питона, а посмотреть самому откуда сктипт на страничке данные берёт, и нельзя ли их вытащить напрямую, повоторив GET-запросы скрипта. Может оказатся что разобраться в самом скрипте невозможно (после обфускации имён разбираться в скриптах не с руки), можно попробовать в той же сетевой консоли хрома или мозиллы посмотреть при каких действиях пользователя какие запросы уходят, и просто их повторять (если от этого какой-нибудь генераций ключейдля аутентификации не защитились).
Проблема в том, что вам нужен не просто интерпретатор яваскрипта, а именно имитатор браузера. Потому что скрипту дом-дерево странички нужна будет. А это геморрой ещё тот.
Phantom практически мертв после выпуска headless chrome
спасибо! завтра попробую воспроизвести.
извините, в будущем учту, что вы девушка : ) розочку вам : )
я это понимаю как совет посмотреть, что такое headless chrome. спасибо если так!
в связи с этим вопрос: где можно безопасно скачать portable chrome (chromium)?
не знаю - у нас хром всегда был завернут в Docker :-)
ну, я не докер :)
я писал, что не могу ничего в системе инсталировать. меня туда даже в гости не пригласили: коврик в уголке, и пользоваться только всем своим. зато бесплатно!
Может быть вот это поможет? https://sites.google.com/a/chromium.org/chromedriver/downloads