Архив: Многопоточный парсер сайта на PHP

Бюджет 167$ / 10000
руб
в месяц
Создан: 6 лет назад
Закрыт
Описание
Необходимо написать пакет, для парсинга сайта. У сайта нет api.
Логика работы должна быть следующая:

-------------ШАГ 1-------------
1)Скрипт должен открыть xlsxlsxcsv документ, объемом в 150мб. Поумолчанию предоставляется xlsx документ, но вы можете пересохранить его в csv для считывания по строкам, но без нарушения целостности соедржимого.
Получить данные из столбцов (названия столбцов вынести в конфигурацию), 1 столбец – ID товара, 2й столбец – ссылка на карточку товара на сайте. 
Функция получения должна поддерживать входные параметры: 1)Номер строки с которой необходимо начинать чтение файла. 2)Номер конечной строки, где заканчивать чтение файла. По умолчанию 1 и последний(можно взять вручную предварительно посмотрев файл).

2)В цикле обращаться по url полученному из ячейки 2го столбца с итерацией по строке. 
Распарсить полученный html, и достать значение атрибута 'href' из определенного блока. (Обсудим перед началом реализации). 

3)Сохранить ссылку из полученного атрибута href(возможны 2 версии верстки) в паре со значением ID из первого столбца(предусмотреть для этого отдельную функцию), пока достаточно сохранить в файле в формате(через двоеточие с переносом строки, без пробела после ссылки):
123:https://www.google.com/
1234:https://www.google1.com/
1235:https://www.google2.com/
и т.д

3.1)Если не удалось получить значение атрибута href, то записать значение ID необходимо в отдельный файл, и в последующем обработать дополнительной функцией для загрузки.
По ссылке будет доступно изображение товара(объемом не более 1мб).

-------------ШАГ 2-------------
4)Для всех значений пары "ID:ссылка", написать функцию для скачивания содержимого по ссылке, с сохранением содержимого в отдельную папку с названием ID.jpg (или .jpeg) в зависимости от полученного содержимого, где ID – значение до двоеточия из в описания п.3

[!]Обязательные условия: 
а)Парсер должен быть многопоточный, соответственно запросы необходимо проксировать, так как количество url, которые необходимо обработать ~ 800 000. 
И соответственно еще столько же запросов необходимо выполнить на получение изображений. 
б)Допускается срок скачивания всех значений в пределах 1х суток.
в)Список прокси серверов должен быть прозрачным и доступен в отдельном текстовом файле(через разделитель) или в файле конфигурации скрипта. 
г)Недопускается подгрузка списка прокси серверов с собственного стороннего источника по ssh или http. 
д)Если сервис предоставляющий списки прокси – публичный, то необходимо детальное документирование функции которая загружает список.
е)Обязательно документирование входных и возвращаемых параметров функции. Допускаются комментарии на русском языке(предпочтительнее на английском).

[!]Все ID по которым возможно не удалось получить значение атрибута href(п.3.1) -, так же должны быть обработаны парсером(допустипо в другой функции, но так же в несколько потоков, если кол-во таких ID более 10000).

Оплата только через безопасную сделку и после представленного результата отработанного скрипта с результатом не менее 50000 изображений.
Предусмотрена дополнительная доплата за уже предоставленные скаченные изображения(только за полный пакет).

Архитектура на усмотрение исполнителя, использовать для реализации php не менее 7.2 версии. 

Категория

Похожие проекты

safe 
0 3
Необходимо разработать систему, которая: Подключается к API Diagnocat и iDent (через токены доступа). Получает данные о пациенте, результатах диагностики, снимках и назначениях. Автоматически формирует структурированный отчет по шаблону (включая врачей, этапы лечения, стоимость и описание процедур).......
 
0 0
Необходимо связать БД 1C:ERP с БД Outlook, MS Access, Битрикс24. Например при вводе нового сотрудника в 1С:ERP он должен автоматически появляться в вышеперечисленных БД....
2 месяца назад
 
0 1
Требуется реализация отчёта на кастомизированной 1С:УПП 1. 2, ТЗ и контрольный пример во вложении, 80% кода должно быть покрыто модульными тестами....
2 месяца назад
$7
0 2
Мне нужно копировать мой текст и вставлять в одну группу ВК с открытой стеной для публикации рекламы. Задача скрипта/сервиса/программы - примерно каждые 10 секунд брать мой текст и вставлять в эту группу. Я пробовал через одну программу, которая записывает действия мышки и потом повторяет, но она как-то......
4 месяца назад
safe 
0 0
Написать прошивку для A94B114, используя 2 подобные рабочие прошивки. Все файлы есть....
$21
0 2
Нужно разархивировать файл архив. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы(скрины)....
7 месяцев назад
safe 
0 1
Входные: Имеется скрипт по обработке email писем и добавление их в систему Redmine   Проблема: Система обработки этих писем написана некорректная и негибкая    Задача: Переписать логику обработки входящих писем, чтобы исключить их потерю при незначительных отклонениях от ожидаемой структуры....
$37
0 1
- В обязанности сотрудника входит поддержание мобильного приложения системы автоматизации бизнеса. - Работа сдельная: задачи выдаются на оценку, далее после согласования передаются на реализацию. - Заключаем договор и NDA (соглашение о неразглашении)....
$71
0 0
Информация о проекте: Проект включает в себя React Native приложение с Expo внутри которого находится webview с сайтом На устройствах с ОС IOS проблема с воспроизведением видео....
7 месяцев назад
safe 
0 0
Разрабатываю десктопные программы на языке Java,  а так же Java + SQL....
 
0 6
  1. Чтобы можно было писать описание события (без заголовка) - превью в списке берется N количества букв с начала. (в списке писать дату события и сколько осталось до него) . Выставление даты и времени напоминания и ИНТЕРВАЛА ПОВТОРА ОТ 1 МИНУТЫ! Выставлять количество повторов, далее напоминания прекращаются.......
safe 
0 4
Сайт arg2028t. beget. tech/. Нужно сделать вот такой калькулятор. airprint. by/outdoor/wide-format. и еще некоторые доработки....
safe 
0 7
Краткое описание: Мы ищем исполнителя для тестирования функционала мобильного приложения на платформе Android. Задача включает проверку основных функций приложения, таких как работа комнаты, передача видео, звука и чата, а также создание подробной отчетности о найденных ошибках.   Требования к исполнителю:......
safe 
0 12
Разработка чат-бота под ваши нужды....
$143
0 0
Oпpocы (1008pyб/чaс) Заходитe на сaйт: gonsù....
10 месяцев назад
 
0 4
Требуется создать скрипт для premiere pro. Данная суть скрипта: в выделеном бине нужно что бы автоматически проставлялся in out ровно по серидине файла так что бы выделенная область была длиной 3 секунды. И требуется кнопка что бы работало через окно expressions. Проблема текущего в том что он не работает......
 
0 2
Нужно создать приложения под гемблинг/беттинг, на котлин. Приложение должно работать Firebase. Детали вышлю при обсуждение....
$21
0 4
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы  ....
1 год назад
safe 
0 3
Разработать впн сервис ( Приложения на ios и android + сайт для оплаты подписки). Настройка Серверов. Оплата по договоренности. Работаем черед безопасную сделку....
1 год назад
Смотреть все