SarcasmIO
👍
mr.
mr.
Там и cheerio и async и phantomjs.
mr.
Первый это привычный JQuery стиль для селекторов, второй многопоточность, третий для случаев когда надо JS исполнять, например если цель написана на каком-нибудь реакте.
Konstantin
Москва
переезд обязателен ?
Pavel Burak
pa[aad
Там и cheerio и async и phantomjs.
насчет этих phantomjs, spookyjs я сомневаюсь в последнее время, много проблем я повидал когда стандартный код просто кушает всю память при запросе, просто куча утечет и много грязных хаков
и это происходит не всегда
Vladimir
mr.
mr.
Dmitry
парсер пишут на фреймворке, дожили )))
Vladimir
если надо спарсить немного, а времени всего пару дней, то пхп вполне себе подойдет
pa[aad
Vladimir
php-html-parser, phpQuery, simplehtmldom
Maksim (Ellrion)
и упомянутый выше symfony/dom-crawler тоже в JQ стиле умеет
mr.
paquettg/php-html-parser для несложного ок
phpQuery это либа которая давно не поддерживается, давно работал с ней, много кода нужно писать для простых задач
simplehtmldom низкоуровневый апи, можно и регулярками тогда уж.
Maksim (Ellrion)
mr.
к бате Фабьену тоже притензии будут?)
Да это не претензии... Рассуждения что ли. Я за конструктивный диалог и пожалуй соглашусь что немного резко заявил свою позицию. Просто была боль когда парсеры именно на РНР делал, попробовал на ноде и прозрел, что это можно делать просто и весело.
SarcasmIO
может предполагается парсер в какой-то проект на ларавеле и ждут реализацию с помощью артисан команд, жобов и тд
mr.
Резюмирая, спарсить простой статический сайт в 1 поток можно на РНР, чтобы не плодить технологии.
Если нужно что-то сложнее, асинхронщина, то либо взять ноду, либо как сообщением выше через джобы и сбоку прикрутить фантом, если сайт "реактивный".
Dmitry
mr.
Maksim (Ellrion)
а фантому не пофиг кто его вызывает? его задача страничку отрендерить и контент отдать в случае парсера или еще что то?
mr.
Andrey
DOMDocument не упомянули
Luka
Подскажите про where db
Luka
$professionals = DB::table('professionals')
->where('factor_cat_1', 'like', 'yes')
->where('value_from_cat_1', '<=', $request->theme1)
->where('value_before_cat_1', '>=', $request->theme1)
->where('factor_cat_2', 'like', 'yes')
->where('value_from_cat_2', '<=', $request->theme2)
->where('value_before_cat_2', '>=', $request->theme2)
->where('factor_cat_3', 'like', 'yes')
->where('value_from_cat_3', '<=', $request->theme3)
->where('value_before_cat_3', '>=', $request->theme3)
->get();
Luka
меня интересует такая конструкция, как правильно указывать, чтобы вывело значения, если в factor_cat_1 и factor_cat_2 есть yes, а в factor_cat_3 там нету
Luka
Не могу понять, как лучше делать. Надо перебрать кучу записей, выбрать все строки где содержится yes и в них сравнить показатели
🎄Victor
Кто нибудь юзал вот такое? https://foundation.zurb.com/emails.html
Anonymous
всем привет. при работе с websocet канал лучше создавать для каждого поста отдельно или для всей ленты сразу, а потом через js циклом искать данные которые изменились?
mr.
Смотря что ты делаешь
Listar
Где я ошибаюсь что ничего не работает ) !?
Listar
т.е. если без цикла сохроняю, то все окей, как только начинаю чере foreach перебирать то все сразу падает (
Andrey
$professionals = DB::table('professionals')
->where('factor_cat_1', 'like', 'yes')
->where('value_from_cat_1', '<=', $request->theme1)
->where('value_before_cat_1', '>=', $request->theme1)
->where('factor_cat_2', 'like', 'yes')
->where('value_from_cat_2', '<=', $request->theme2)
->where('value_before_cat_2', '>=', $request->theme2)
->where('factor_cat_3', 'like', 'yes')
->where('value_from_cat_3', '<=', $request->theme3)
->where('value_before_cat_3', '>=', $request->theme3)
->get();
->where('factor_cat_1', 'like', 'yes') равносильно ->where('factor_cat_1', '=', 'yes').
Если хочешь найти вхождение слова в столбце, то юзай ->where('factor_cat_1', 'like', '%yes%')
Dmitriy
Listar
нит
Listar
Даже если 2 и больше файла, все равно не работает
Listar
или я не понял чего ((
Dmitriy
https://stackoverflow.com/a/30028152
Listar
ty, пойду гляну
Listar
Nope, все равно не хочет сохронять, и пустой массив с именами оттдает
Макс
У тебя жеж в форыче в переменной значения тупо перезаписывается, не?
Макс
Какой резон в переменной path если в ней ток последний результат работы цикла
Макс
Сделай хотя бы $path[]=
Illia
👆дело говорит
Sultan
Всем привет. Такой вопрос, на локальном сервере чтобы включить Storage прописываешь php artisan link. Но почему-то на рельном хостинге файлы из Storage не появляются - ошибка 403. Из-за чего это, на рельном сервере для этого нужно что-то изменить? Можете дать совет, пожалуйста
Andrey
Sergey
Как контроллер связать с моделью?
ThunderAL
есть
MyModel { hasMany(EvemtModel::class) }
как мне получить My Model с сортировкой по количетву в нём EvemtModel и Лимитом, допустим на 6?
MyModel::limit(6)->{has('events')+events.count ????}
ThunderAL
Ответ https://stackoverflow.com/questions/24208502/laravel-orderby-relationship-count#40021201
MyModel::withCount('events')->latest('events_count')->limit(6)
Sultan
Привет. Как пагинировать связь hasMany? Например, мне нужно для category->products. Может кто сталкивался?
Евгений
$category->products()->paginate(30)
T.A
реябта, всем привет. копаюсь в чужом коде. помогите понять этот метод
T.A
нужно переписать так, чтобы больше не ассоциировался с юзером а с диалогом
T.A
в таблицу complaints добавил колонку dialog_id и рилэйшены сделал. (complaints belongs to dialog)
Firdavs
Привет. Какую админку посоветуете? voyager пробовал, не понравился. Или лучше самому сделать?
Alexey
crudboost глянь
vAlfred88
Sultan
sleeping owl
Его удобно использовать? Я один раз посмотрел документацию, там все замудренно. Мне показалось Voyager более удобен
mr.
Привет, есть кусок кода с легаси https://pastebin.com/HZcmW21D (ВНИМАНИЕ, слабонервным не смотреть)
У кого-нибудь есть идеи как это можно переделать?)
T.A
Ivan
T.A
просто скажите. это правильный код?
Maksim (Ellrion)