Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Web scrapping python without browser installed (или Murr-2)

849  
  moose старожил11.05.19 16:26
NEW 11.05.19 16:26 

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

нашел, как народ это советует делать. используется браузер (файерфокс или хром). мне это не подходит, т.к. там, где будет выполняться скрипт, я не могу их установить.

имеются ли альтернативы чисто пайтоновые? какая-нибудь библиотека, которая сама умеет выполнять жаваскрипт, без помощи браузера?

#1 
gendy Dinosaur11.05.19 17:31
gendy
11.05.19 17:31 
в ответ moose 11.05.19 16:26

node.js

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#2 
MrSanders старожил11.05.19 17:52
NEW 11.05.19 17:52 
в ответ gendy 11.05.19 17:31, Последний раз изменено 11.05.19 22:20 (MrSanders)

Речь идёт о многих сайтах, с которых надо данные вытягивать, или об одном? Если сайт один, то можно посмотреть откуда он подгружает данные и попытаться тянуть их напрямую из источника, а не запускать скрипт, который будет это делать.

#3 
  moose старожил11.05.19 22:26
NEW 11.05.19 22:26 
в ответ gendy 11.05.19 17:31

- милый, так хочется пить, остановись возле киоска, купи воды.

- дорогая, воды не было, я принес тебе печенья : )

#4 
  moose старожил11.05.19 22:30
NEW 11.05.19 22:30 
в ответ MrSanders 11.05.19 17:52, Последний раз изменено 11.05.19 22:38 (moose)

речь идет при скрэппинге ВСЕГДА только об одном сайте (начальном). если речь не о поисковой машине.

вы предлагаете "вручную" интерпретировать жаваскрипты сайта и имплементировать их выполнение.

что вы имели ввиду, говоря "не запускать скрипт"? жаваскрипт из пайтона?

#5 
  beatus Teddybär11.05.19 23:41
beatus
MrSanders старожил12.05.19 07:39
NEW 12.05.19 07:39 
в ответ moose 11.05.19 22:30
речь идет при скрэппинге ВСЕГДА только об одном сайте (начальном)

Слушайте, а вам так необходимо ВСЕГДА нести с апломбом какую-то чушь? Продемонстрировать что вы, якобы, что-то понимаете лучше, а остальные даже не знают О ЧЁМ ОНИ ГОВОРЯТ?

Ну с какого бодуна-то речь при скрапинге идёт "всегда только об одном сайте (начальном)"? Из какого пальца вы это высосали? А если я с сайтов двух магазинов цены дёргаю я что, не скрапингом занимаюсь? Да, в рускоязычном инете более распространено именно "скрапинг" а не "скрэп(п)инг".

вы предлагаете "вручную" интерпретировать жаваскрипты сайта и имплементировать их выполнение.

что вы имели ввиду, говоря "не запускать скрипт"? жаваскрипт из пайтона?

Да, не искать имитатор браузера для питона, а посмотреть самому откуда сктипт на страничке данные берёт, и нельзя ли их вытащить напрямую, повоторив GET-запросы скрипта. Может оказатся что разобраться в самом скрипте невозможно (после обфускации имён разбираться в скриптах не с руки), можно попробовать в той же сетевой консоли хрома или мозиллы посмотреть при каких действиях пользователя какие запросы уходят, и просто их повторять (если от этого какой-нибудь генераций ключейдля аутентификации не защитились).

Проблема в том, что вам нужен не просто интерпретатор яваскрипта, а именно имитатор браузера. Потому что скрипту дом-дерево странички нужна будет. А это геморрой ещё тот.

#7 
AlexOtt местный житель12.05.19 08:48
AlexOtt
NEW 12.05.19 08:48 
в ответ beatus 11.05.19 23:41

Phantom практически мертв после выпуска headless chrome

#8 
  moose старожил12.05.19 21:42
NEW 12.05.19 21:42 
в ответ beatus 11.05.19 23:41, Последний раз изменено 12.05.19 21:42 (moose)

спасибо! завтра попробую воспроизвести.

#9 
  moose старожил12.05.19 21:43
NEW 12.05.19 21:43 
в ответ MrSanders 12.05.19 07:39

извините, в будущем учту, что вы девушка : ) розочку вам : )

#10 
  moose старожил12.05.19 21:44
NEW 12.05.19 21:44 
в ответ AlexOtt 12.05.19 08:48

я это понимаю как совет посмотреть, что такое headless chrome. спасибо если так!

#11 
AlexOtt местный житель12.05.19 23:22
AlexOtt
NEW 12.05.19 23:22 
в ответ moose 12.05.19 21:44

Да. Стоит в эту сторону посмотреть.

#12 
  moose старожил21.05.19 16:38
NEW 21.05.19 16:38 
в ответ AlexOtt 12.05.19 23:22

в связи с этим вопрос: где можно безопасно скачать portable chrome (chromium)?

#13 
AlexOtt местный житель21.05.19 21:16
AlexOtt
NEW 21.05.19 21:16 
в ответ moose 21.05.19 16:38

не знаю - у нас хром всегда был завернут в Docker :-)

#14 
  moose старожил26.05.19 21:25
NEW 26.05.19 21:25 
в ответ AlexOtt 21.05.19 21:16

ну, я не докер :)

я писал, что не могу ничего в системе инсталировать. меня туда даже в гости не пригласили: коврик в уголке, и пользоваться только всем своим. зато бесплатно!

#15 
AlexOtt местный житель27.05.19 21:02
AlexOtt
NEW 27.05.19 21:02 
в ответ moose 26.05.19 21:25

Может быть вот это поможет? https://sites.google.com/a/chromium.org/chromedriver/downloads

#16