mr.
Ща распишу как было...
Vladislav
"Сперва я проснулся..."
mr.
Вчера я проснулся, ага короч...
Vladislav
"Потом эта бабушка все никак не могла перейти дорогу, а я спешил..."
mr.
Есть сайт, надо спарсить оттуда инфу, но сайт написан на реактЖС, поэтому надо исполнять ЖС, всё это должно на сервере крутиться. Окей, стандартная задача вроде, беру такой nodeJs и модуль для PhantomJS, хм, странно, сессия теряется после входа, может я что не так сдлела или бага где, ок, беру CasperJS + PhantomJS, переписываю слегка, всё равно не робит... НИПОНЯТНА, НА ДРУГИХ САЙТАХ ОК Беру Python + Selenium IDE, был опыт и есть наработки, накидываю скрипт, сую ещё PhantomJS драйвер, ага не работает, сую емё ChromeDriver ага, работает. Вывод, сайт крупный, детектит фантомЖС. Ночью мозговым штурмом с @beowulfenator поняли, что надо взять Chrome в headless режиме(59+ linux, 60+ windows). Ну вот с утра собираю докер контейнер, чтобы хром в headless работал, понадобилось прикрутить pyvirtualdisplay который обёртка над xvfb
mr.
Vladislav
эмм
mr.
Я сильно упоротый?
Vladislav
а разве реактЖС не хтмл рендерит?
mr.
а разве реактЖС не хтмл рендерит?
Он же на клиенте рендерит, плюс там проверки всякие JS
Vladislav
так тебе надо просто инфу? или исполнять сайт у себя?
mr.
Такие вопросы после опыта описанного выше кажутся издёвкой.
Yura
Дичь какая-то
Vladislav
дык ты написал - тебе нужна инфа
mr.
Как я инфу буду брать с сайта, который рендерится динамически
mr.
Ну мне надо авторизоваться ещё там
Vladislav
а потом начал какую-то дичь про фантом, хром в хедлесс и докеры гнать
Olzhas
вызовы к апи перехватить низзя?
mr.
вызовы к апи перехватить низзя?
Думаю можно, но это с отладкой бегать дольше выйдет, мало ли они завтра защиту добавят или ещё чего. Сейт не простой, всех посылают куда подальше))
mr.
Даже в консоли разработчика предупреждение, что НЕ НАДО ТУТ КОД ИСПОЛНЯТЬ, А ТО МОШЕННИКИ УГОНЮТ ДЕНЬГИ
mr.
Я себя не ограничиваю PHP, зачем, это же вгонять себя в рамки какие-то?
KoJIT
Я себя не ограничиваю PHP, зачем, это же вгонять себя в рамки какие-то?
Раз у тебя еть желание то все ок, просто без опыта такие финтеля не выпишеш.
Эд
Я себя не ограничиваю PHP, зачем, это же вгонять себя в рамки какие-то?
Какие по твоему ограничения в PHP - которые могут тебя ограничить?
Эд
Почитал выше посты, въехал - тут конечно php не сильно поможет
Эд
ли только понять api сайта на реакте
mr.
Какие по твоему ограничения в PHP - которые могут тебя ограничить?
Инструменты, скорость исполнения. По инструментам, что-то подное как выше описал, это Selenium server поднимать и через него работать - муторно. По скорости, как-то давно пасил сайт где большие страницы и содержат структурированно информацию, так вот lxml на python кушал это только в лёт(обёртка над сишной либой) NodeJS vs PHP асинхронно-событийная модель у ноды выигрывает, ReactPHP ещё не пробовал, но на ноде это нативно всё, а с ES6 сахаром вообще вкусно. Python vs PHP на питоне инструментов для data science больше, на пыхе ни одного не знаю. На питоне GUI приложения ок писать, на РНР было пару проектов, да загнулись вроде, да и не особо они популярны чет...
mr.
Т.е. инструменты под задачу надо выбирать)
mr.
А не то что как чел вчера ВАШ ЮЙИ ГОВНО Я БЫ НА ГОЛОМ РНР БЕЗ КЛАССОВ УЖЕ СДЕЛАЛ
Konstantin
да, веселый он
Konstantin
и по фтп заливать
mr.
да, веселый он
О, привет Костя, спасибо за headless наводку)
mr.
и по фтп заливать
Ну про редактор я промолчу, а то опять срач Editor VS IDE поднимится
mr.
emacs VS vim VS nano VS mcedit VS ST2/ST3 vs Notepad++ )))
Danil
тааак. вим не трогай 😂
mr.
О, кого-то триггернул)
Danil
😆😆😆
mr.
На самом деле, все так вим пиарят, что кроме !wq захотелось ещё что-то выучить))
Olzhas
:q!
mr.
Что этот смайлик значит? <sarcasm>
Olzhas
ну вообще лучше использовать инструменты, которые тебе наиболее удобны, а не прыгать с крыши вместе с толпой
Olzhas
я не представляю какой функционал в виме лучше чем в том же phpstorm
mr.
Скорость, потребление ресурсов, но это не функционал)
Сергей
Пилю учёт финансов. Смотрю примеры, как другие делают и не могу понять, почему в таблице операций не делают отдельно поле PK id, а делают составной primary key? Хотя теоретически может сложится так, что будут реально две операции с одинаковым составным primary key http://joxi.ru/jgmvpzHxqgLPAa
Nikita
Всем привет, есть задача чтобы администратор мог на карте нанести "путь до моря", может кто сталкивался с такой задачей
Nikita
Nikita
типа такого
Алексей
хотя как-то странно и ключ чёт жирный
SiZE
Сохранить только урл )
Nikita
Сохранить только урл )
хмм) спасиб ща попробую
Сергей
ну если поле datetime, то не будет по идее
но теоретически такая возможность остаётся... думаю у себя всё-таки сделать обычный id
Olzhas
Там вроде всё готовое уже в картах Яндекса и Гугла
я уже хотел заливать про теорию графов все дела
knifeblade
Скорость, потребление ресурсов, но это не функционал)
так что за сайт там насилуете, какой там тип авторизации? jwt?
knifeblade
токен в студию
knifeblade
по мне лучше данные по апи получить
knifeblade
если cors даст
Ivan
Привет рябят. Может кто-то с докером помочь? Есть следующий докер-компос: zookeeper: image: wurstmeister/zookeeper kafka: image: wurstmeister/kafka:0.10.0.1 environment: KAFKA_ADVERTISED_HOST_NAME: kafka KAFKA_ADVERTISED_PORT: "9092" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /var/run/docker.sock:/var/run/docker.sock links: - zookeeper:zk depends_on: - zookeeper test-consumer: image: projectname/docker:php-cli-7.0.14 command: php /srv/projectname/protected/yiic testconsumer volumes: - /srv/projectname/:/srv/projectname/ links: - kafka:kafka - zookeeper:zk depends_on: - zookeeper - kafka Как сделать так, чтобы test-consumer запускался только тогда, когда кафка и зуукипер реально прогрузились?
Ivan
Прогрузилась
mr.
Ага, вижу depends_on осилил
Ivan
Иначе такое выходит по итогу: 14:27:09 Start execution of TestConsumerCommand %3|1499171229.801|FAIL|rdkafka#consumer-2| kafka:9092/bootstrap: Connect to ipv4#172.18.0.7:9092 failed: Connection refused %3|1499171229.801|ERROR|rdkafka#consumer-2| kafka:9092/bootstrap: Connect to ipv4#172.18.0.7:9092 failed: Connection refused %3|1499171229.801|ERROR|rdkafka#consumer-2| 1/1 brokers are down %3|1499171229.801|FAIL|rdkafka#producer-1| kafka:9092/bootstrap: Connect to ipv4#172.18.0.7:9092 failed: Connection refused %3|1499171229.801|ERROR|rdkafka#producer-1| kafka:9092/bootstrap: Connect to ipv4#172.18.0.7:9092 failed: Connection refused %3|1499171229.801|ERROR|rdkafka#producer-1| 1/1 brokers are down %3|1499171230.867|FAIL|rdkafka#consumer-2| kafka:9092/bootstrap: Connect to ipv4#172.18.0.7:9092 failed: Connection refused %3|1499171230.869|ERROR|rdkafka#consumer-2| kafka:9092/bootstrap: Connect to ipv4#172.18.0.7:9092 failed: Connection refused %3|1499171230.869|ERROR|rdkafka#consumer-2| 1/1 brokers are down
mr.
Костыль могу предложить, надо?
Ivan
#!/bin/bash # wait-for-zk.sh until $(echo stat | nc localhost ${2181}) is not none >&2 echo "Zookeeper is unavailable" sleep 1 done >&2 echo "Zookeeper is up"
Ivan
такой?
Ivan
давай :)
Ivan
костыль будет ок, даже слип какой-нить
mr.
Да я смотрю ты самостоятельный
mr.
Да, свой enterypoint.sh
Ivan
я просто не могу понять куда поместить это
mr.
Как куда, в dockerfile
mr.
Пошли в лс
Ulugbek "Luke"
Всем привет. Кто может объяснить как найти эту строку?
Ulugbek "Luke"
Ulugbek "Luke"
Anonymous
Какой IDE?
Anonymous
А эт же инспектор кода)