Nikita
ага, я просто не знаю как ведёт себя парсер, если он реальную страницу после загрузки парсит, то самое банальное, это попробовать какой нибудь sleep поставить в пару секунд
Anonymous
неа, не помогает, пробовал
Nikita
значит парсер не грузит скрипты или не делает ajax запросы
Anonymous
а вот хотелось бы )
Nikita
😄 как мне говорит продажник на работе: "Мир не идеален". Я думаю стоит посмотреть информацию на stackoverflow, 100% кто-то уже с этим сталкивался)
Alexander
Смотри в сторону phantom.js selenium.
🏁Александр
https://github.com/robertkrimen/otto
🏁Александр
может это поможет
Anonymous
спасибо, ребята. Погляжу.
heavycharged
chrome headless юзай
heavycharged
ребятки, а кодо генерацию вы делаете из шаблонов или из ast?
heavycharged
мне вот надо нагенерировать кучу файлов, и вот думаю, просто втыкать в шаблон строки и писать в файл, или через go/printer и кучу AST делать?
Anonymous
heavycharged
погугли
Anonymous
ок спс
Илья
мне вот надо нагенерировать кучу файлов, и вот думаю, просто втыкать в шаблон строки и писать в файл, или через go/printer и кучу AST делать?
зависиьт от контекста, если хватит шаблонов, то используй их, иногда не хватает, тогда приходится ast юзать
Anonymous
твой выбор - https://github.com/chromedp/chromedp
Ты его юзал? у него есть конкретно настройка ожидания пока все скрипты не выполнятся? а то в примерах у них написано time.Sleep(time.Second * 5) 😒
Anonymous
https://github.com/mafredri/cdp
спасибо, сейчас посмотрю
heavycharged
хромедп на винде выделывался, ещё создал темп файлов на 17 гб
heavycharged
можно как-то через AST получить путь для импорта пакета?
heavycharged
мне нужно в пакете А импортировать пакет B
heavycharged
или как это правильно делается? отрезать $GOPATH/src/, и получим путь для импорта?
heavycharged
все, нашел: https://golang.org/pkg/go/build/
Danylo
Почему не работает UPDATE текущего запроса в postgre SQL? Код: https://pastebin.com/1BdZeKa6, вывожу SQL добавляются всё новые и новые айдишники... У меня в таблице будет 10000 записей, один бот = 1 одна постоянная запись, бот запоминает ID запроса INSERT которого он сделал, и этот бот будет просто изменять СВОЮ строку путем UPDATE, а ботов может быть сотня, и каждый обновляет свою запись (строку). Тоесть вторую запись один бот - не имеет права создавать
Vladimir
спасибо погляжу
Если тебе нужен 1. Быстрый парсер с малым потреблением памяти (хром/фантом легко по 150 МБ на страницу заберут) 2. Ты знаешь структуру страницы, которую будешь парсить (например, это конкретный инет магазин и т.п) 3. Задача - получить конкретные данные => ты можешь сам из кода генерить хттп реквесты аналогично тем, что делает браузер при обработке скриптов на странице и обрабатывать результаты. Это дольше, чем использовать хедлесс хром/фантомжс, но выигрыш в скорости работы и памяти. Исходящие запросы на странице можешь посмотреть в инструментах разработчика браузера.
Vladimir
Значит это не твой кейс)
Anonymous
да вроде хедлес хром подходит.
Anonymous
@nordborn А ты не в курсе, может есть какой-то вариант обратиться к сайту типа http.Get только каким-то образом всё-таки дождаться всех скриптов? ...
Anonymous
(в условиях неизвестности)
Vladimir
Это не получится. http.Get получает текстовый контент и ничего не знает о скриптах, для него они / просто текст на странице. Чтобы их запустить, нужен браузерный движок.
Anonymous
жаль. ладно, спасибо =) движок так движок.
Vladimir
)
Stepan
А?! Где же вы все это слышите-то?..
Вот не поверишь, мне это в вайлдбериз на собесе сказали
Stepan
Тип что вообще беда
Stepan
2 Тим Лида
Daniel
Волшебно
Заур
Видимо максимальное количество значащих цифр имеют ввиду
Daniel
Но знайте - они ошибаются
Stepan
Ну я уже через пакет decimal сделал на всякий случай
Заур
Это понятно конечно
Daniel
Не
Daniel
Байки про погрешность растут из того, что на границе точности двоичное округление не совпадает с десятичным. Но это не проблема golang
Aliaksandr
Я сначала неправильно прочёл. Спасибо за наводку, это, похоже, то что нужно
только из ub нельзя получить доступ к полям user, не входящим в UserBase, в отличие от наследования. Вернее, можно, но только через пакет unsafe.
Stepan
Крч сходил в вайлдбериз и очень сильный осадок остался
heavycharged
сколько у них разработчиков в штабе?)
🏁Александр
вы ходите по охрененно тонкому льду, и когда провалитесь в @goflood там вас буду ждать я 🙂
heavycharged
я оттуда как раз и ушел
heavycharged
каждый день шутки про то, какой хтмл хороший язык программирования. не каждый выдержит.
Stepan
Не напомните как из подпапки проекта импортнуть пакет?
Nazar
../
Nazar
Достаточно вроде как
Aliaksandr
Линус, знаете ли, тоже не душка)
еще есть автор ReiserFS :)
🏁Александр
../
NOOOO
🏁Александр
только абсолютные пути
Nazar
Не работает?(
🏁Александр
относительно $GOPATH
🏁Александр
работает, но принято полный путь указывать
Stepan
Я сейчас в корне, в нем есть папка middleware/tools.go
🏁Александр
в корне где?
🏁Александр
у тебя проект должен лежать в $gopath/имяхоста/имяпользователя/проект
Stepan
в корне где?
Локальная папка
Stepan
Корень проекта
🏁Александр
если это гитхаб то $GOPATH/github.com/vasa/googlekiller
Stepan
Нет не гитхаб
Stepan
Это именно мой локальный проект
🏁Александр
$GOPATH/localproject например
🏁Александр
если там есть папка myLib