Size: a a a

2020 April 09

zN

zVlad Nesquik in Laravel Pro
Привет!
Может, кто то делал парсинг сайтов?
Не могу придумать как организовать это дело.
Суть такая: пользователь добавляет сайт свой, а Админ пишет под каждый сайт свой парсер и все.
Создавать контроллер под каждый сайт?
Один контроллер и функции с парсингом каждого сайта? А если сайтов 1000, то это огромный файл будет.
Помогите в организации :)
источник

M

Michael in Laravel Pro
парсят не контроллером. В контроллере обрабатывают http-запросы к сайту
источник

AI

Alexey Imsha in Laravel Pro
zVlad Nesquik
Привет!
Может, кто то делал парсинг сайтов?
Не могу придумать как организовать это дело.
Суть такая: пользователь добавляет сайт свой, а Админ пишет под каждый сайт свой парсер и все.
Создавать контроллер под каждый сайт?
Один контроллер и функции с парсингом каждого сайта? А если сайтов 1000, то это огромный файл будет.
Помогите в организации :)
Парсер - это Сервис, какой-то класс  логикой парсера. Таких классов много. Тысячи.
Сайт это Модель. Запись в базе. Где есть поле с названием класса парсера.
источник

AB

Andrey Bogdanov in Laravel Pro
zVlad Nesquik
Привет!
Может, кто то делал парсинг сайтов?
Не могу придумать как организовать это дело.
Суть такая: пользователь добавляет сайт свой, а Админ пишет под каждый сайт свой парсер и все.
Создавать контроллер под каждый сайт?
Один контроллер и функции с парсингом каждого сайта? А если сайтов 1000, то это огромный файл будет.
Помогите в организации :)
под это лучше сделать бэкграунд таску с очередями, логику вынести в уровень с сервисами
источник

АВ

Алексей Веснин... in Laravel Pro
Всем привет. Подскажите, есть ли какой-то быстрый способ копирования(перемещения) из одного столбца таблицы в другой(одной и той-же таблицы) с удалением информации в последнем(откуда перемещали), без создания кучи подзапросов в цикле? Интересует именно обработка столбцов, а не переименование, так как есть разные условия
источник

M

Michael in Laravel Pro
Делай классы. Классы располагай как хочется, в папках с подпапками. В контроллере юзай их.
источник

AI

Alexey Imsha in Laravel Pro
Запуск парсера - это поиск сайта по базе, выбор поля с названием класса. Запуск этого класса.
А где ты это будешь делать, в контроллере, в командах artisan, в job - это у же тебе решать.
источник

AI

Alexey Imsha in Laravel Pro
———-
Ребят подскажите самое нормальное решение - как  Localization использовать в Vue компонентах.
источник

DB

Denis Budancev in Laravel Pro
Marsel
Для бранчей тоже можно задавать специфичный ремоут по-умолчанию.
git branch -vv - покажет какой бранч откуда
git branch -u origin/develop - задать текущему бранчу ремоут и бранч
Большое спасибо!
источник

M

Marsel in Laravel Pro
Алексей Веснин
Всем привет. Подскажите, есть ли какой-то быстрый способ копирования(перемещения) из одного столбца таблицы в другой(одной и той-же таблицы) с удалением информации в последнем(откуда перемещали), без создания кучи подзапросов в цикле? Интересует именно обработка столбцов, а не переименование, так как есть разные условия
update users set column_2=column_1, columnt_1 = ''; если не переименования. условия по where тоже добавить
источник

АВ

Алексей Веснин... in Laravel Pro
Marsel
update users set column_2=column_1, columnt_1 = ''; если не переименования. условия по where тоже добавить
Ну с условием у меня будет chunk where, а вот в цикле уже обработка
источник

zN

zVlad Nesquik in Laravel Pro
В папке Parser есть список файлов-класов.
Название файла и класса - сайт (пример: sitelan, siteua)

С базы я получаю название нужного класа с которым надо работать.
Как его подключить?
$db_rasult = 'siteua'.
Мне надо что бы подключился и можно было работать с файлом siteua
и класом
$s = new siteua();

Как заделать?
источник

zN

zVlad Nesquik in Laravel Pro
Можно, конечно, прописать в use 100-200 штук, но это не вариант же?
источник

M

Michael in Laravel Pro
$s = new $db_rasult();
источник

L

Loot.jpg in Laravel Pro
zVlad Nesquik
В папке Parser есть список файлов-класов.
Название файла и класса - сайт (пример: sitelan, siteua)

С базы я получаю название нужного класа с которым надо работать.
Как его подключить?
$db_rasult = 'siteua'.
Мне надо что бы подключился и можно было работать с файлом siteua
и класом
$s = new siteua();

Как заделать?
autoloader нужно погуглить )
источник

zN

zVlad Nesquik in Laravel Pro
Loot.jpg
autoloader нужно погуглить )
Гуглил.
Но мне надо не все сразу, а нужный файл подключать.
источник

L

Loot.jpg in Laravel Pro
zVlad Nesquik
Гуглил.
Но мне надо не все сразу, а нужный файл подключать.
источник

L

Loot.jpg in Laravel Pro
файл подключится только по требованию
источник

zN

zVlad Nesquik in Laravel Pro
Спасибо, но не то чуток.
Это читал.
источник

KU

Kushina Uzumaki in Laravel Pro
Добрый день всем)
Ребят, помогите пожалуйста, не могу разобраться со связями...
Есть книги (Book модель), арендаторы (Renter) и аренда (Rent).
У книг и арендаторов сделала отношение hasMany, получающая аренды.
Одна казалось бы простая задача, с которой все никак не могу справиться:
1. Вывести самых активных арендаторов (те, у которых больше всего арендовано книг), а также получить количество активных аренд (те, у которых expired_at у модели Rent больше, чем текущая дата)

Настолько устала уже пытаться, что готова даже заплатить за объяснение 🤦‍♀️
источник