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

Бюджет 167$ / 10000
руб
в месяц
Создан: 5 лет назад
Закрыт
Описание
Необходимо написать пакет, для парсинга сайта. У сайта нет 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 версии. 

Категория

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

$21
0 1
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы  ....
1 неделя назад
safe 
0 0
Разработать впн сервис ( Приложения на ios и android + сайт для оплаты подписки). Настройка Серверов. Оплата по договоренности. Работаем черед безопасную сделку....
2 недели назад
safe$21
0 3
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы  ....
1 месяц назад
$214
0 1
Здравствуйте, у кого есть проект по продвижению chaturbate? Или кто-то делает?...
1 месяц назад
$21
0 0
Заказные доработки функционирующих учётно-управленческих систем на производственных предприятиях. Навыки программирования в MS SQL, VBScript, 1С, знание принципов ООП....
safe$36
0 2
Нужно опубликовать мобильное приложение для Android в Гугл маркет с аккаунта разработчика Гугл плей консоль, созданного ДО Ноября 2023. В рамках проекта, необходимо прислать приглашение мне на почту, чтобы я загрузила приложение и отправила его на модерацию, с сохранением безвременного доступа к моему......
safe$71
0 3
Сделать игру для яндекс игр, настроить рекламу в игре и помочь с публикацией игры в платформе яндекс игры. Игра - карточная игра Пасьянс Паук (косынка) Игровой процесс: Тип игры: Пасьянс Паук. Количество мастей: Игрок может выбирать количество мастей: 1, 2, 3 или 4. Подсказки: Автоматические подсказки,......
$14
0 3
Без акцента на идею, необходимо создать мобильное приложение iOs и Android, с возможностью трансляции основной информации в миниапп Tg. Интеграция с платежной системой, внутренний кошелек, две валюты. В зависимости от гео, возможность конвертации валют ч/з сервер. На старте, сервер скорее облачный. Двухфакторная......
$1200
0 0
Необходимо перевести действующую БД с версии 77 на 8 (переписать конфигурацию, настроить обработки для переноса данных).   Не типовая конфигурация по учету пенсионеров в ГУ РК....
safe$22
9 3
требуется готовую онлайн анкету на django по приему на работу перенести в whatsapp, telegram и viber. Нужно чтобы кандидат мог с удобством заполнять анкету с телефона, а все заполненные им данные по всем позициям автоматически загружались в нашу базу данных. В нашей базе будет создаваться резюме кандидата......
$714
0 2
Описание задачи: Необходимо разработать serverless функцию на базе NestJS и TypeScript для автоматизированной обработки видеофайлов, загружаемых в Yandex Cloud Storage. Функция должна выполнять конвертацию видео в формат, поддерживаемый основными веб-браузерами, с последующим сжатием до оптимального......
safe$44
49 1
Трипланарная транспортная задача (отправители - транспорт - получатели) генерация исходных данных трехэтапное решение 1....
safe 
28 1
В наличии массив кадастровых номеров (КН), необходимо путем запроса на ПКК определить примерные географические координаты каждого объекта из массива КН (ОКС, ЗУ), вывести в результирующий файл эти ко-ты и ряд сопутствующих данных по этому КН....
2 месяца назад
safe 
44 8
Необходимо разработать бек и фронт мини-сервиса таким образом, чтоб его можно было развернуть внутри другого проекта....
safe$1111
23 0
Стоит на Бизнесе для своих нужд на простеньком базовом шаблоне, складываю туда контент потихоньку. Нужно начинать приводить в соответствие что бы публика сразу не убегала, а как то цеплялась, да и продвигать не торопясь. Шаблон где порвался от вставки баннеров подправить, для мобилок может сверстать.......
safe$22
55 0
Парсер для сайта stockx. com на питоне (selenium/pyppeteer). Необходим следующий функционал: 1. На главной странице с поиском по ключевым словам найти первый результат из поиска (ссылку на страницу товара) ....
2 месяца назад
 
36 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
3 месяца назад
 
37 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
3 месяца назад
Смотреть все