LINUX.ORG.RU

Чем в python работать с сайтом?

 


1

1

Всем привет. Ищу какой-нибудь фреймворк(можно конечно взять curl, lxml, и прочее, и руками всё написать, но не хочется), как Selenium(открыл webdriver, и через него всё взаимодействие), который можно натравить на сайт, он будет уметь пользоваться куками, xpath, уметь работать с формами, post, и прочим. Что есть в мире Пайтона под такие запросы? Всем спасибо.

Ответ на: комментарий от grazor

а оно умеет выполнять JS? если сайт будет построен на ReactJS, к примеру, или на ангуляре, да хоть на jQuery, и данные скриптом меняются, эта либа будет адекватно выполнять скрипты?

bvn13 ★★★★★
()
Ответ на: комментарий от bvn13

Нет, оно просто краулер, который, как спрашивал ТС, немного упрощает работу с куками и формами, позволяет использовать xpath, и заодно умеет параллельное выполнение из коробки.

grazor ★★
()
Ответ на: комментарий от bvn13

Если надо js - это либо руками + scrapy, либо уж Selenium,там с этим проблем нет.

mahalaka ★★
() автор топика
Ответ на: комментарий от bvn13

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

genryRar ★★
()
Ответ на: комментарий от genryRar

Да это я всё знаю, selenium пользуюсь уже который год, теперь хочу найти что-то типа того, но полегче, такой вот дауншифтинг. А что драйвер для фантома жуть? Разве жуть? Всё что надо делает, все эксепшены плюёт, если уж какая-то крайняя нужда, делай browser.execute_script

mahalaka ★★
() автор топика
Ответ на: комментарий от mahalaka

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

но возможно это мой специфичный кейс и я просто не умею его готовить)

genryRar ★★
()
Ответ на: комментарий от mahalaka

а полегче, если речь о js движке с поведением схожим с браузерным, думаю ничего нет. была мысля прикрутить допиленный nodejs но слишком много работы нужно проделать. и будет ли это «легче» - большой вопрос. хотя он вроде не течет как сучка (электрон всеравно подтекает, о фантоме молчу, это боль).

genryRar ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.