Grab sites & load to Drupal 7
- Автоматическое обновление списка прокси серверов
- Случайный выбор прокси из списка
- Исключение нерабочих прокси
3990 разных реальных UserAgent
- Chrome
- Firefox
- Internet Explorer
- Safari
- Opera
Насколько это возможно реализована многопоточность средствами PHP. Сканер запускает сам себя несколько раз. При запуске выставляет флаг-файл и блокирует его, что позволяет определять запущен ли процесс. Когда скрипт завершает выполнение блокировка автоматически снимается.
Для работы с разными сайтами используются отдельные сканеры. Сканер - сайт. Они также запускатся параллельно.
- Находится нода
- Определяются ее поля
- картинка - загружается файл
- таксономия - находится термин таксономии, подставляется id или добавляется новый
- field collection - заполняются соответствующие поля
- дата - дата
- текст - текст
- список - список
- Если ноды нет - создается. Есть - обновляется
Аналогично загрузке в ноды. Находится нода. В ноде находится комментарий. Обновляется. Либо добавляется новый.
Для комментариев поддерживаются все поля, что и для ноды. При необходимости автоматически создаются учетные записи пользователей - авторов комментариев.
Изображения кэширутся. С целью ускорения повторной загрузки. Кэшируются внутренние объекты при работе граббера.
Информация с разных источников автоматически объединяется.
Например, для сборщика с киносайтов источнком информации о фильме является kinopoisk.ru. Оттуда берется картинка, описание, трейлер. Но расписание в каждом кинотеатре разное. Расписание сеансов берется с сайта кинотеатра. Данные объединяются.
Для обхода 30 секундного ограничения на выполнения PHP-скрипта используется очередь. Ссылки для извлечения данных сохраняются в очередь. Извлеченные данные также сохранются в очередь для последующей обработки, фильтрации.
Для одной ноды бывает несколько блоков данных с разных источников. Чтобы ускорить самую медленную часть процесса - загрузку в ноды - порции данных предназначенные для одной ноды объединяются.
Поля объединяются, пустые заполняются. field collectin аналогично.
- Готовые
- Добавить
- Заказать
Схема