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

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

Категория

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

$1200
0 0
Необходимо перевести действующую БД с версии 77 на 8 (переписать конфигурацию, настроить обработки для переноса данных).   Не типовая конфигурация по учету пенсионеров в ГУ РК....
$14
0 0
Без акцента на идею, необходимо создать мобильное приложение iOs и Android, с возможностью трансляции основной информации в миниапп Tg. Интеграция с платежной системой, внутренний кошелек, две валюты. В зависимости от гео, возможность конвертации валют ч/з сервер. На старте, сервер скорее облачный. Двухфакторная......
$714
0 0
Описание задачи: Необходимо разработать serverless функцию на базе NestJS и TypeScript для автоматизированной обработки видеофайлов, загружаемых в Yandex Cloud Storage. Функция должна выполнять конвертацию видео в формат, поддерживаемый основными веб-браузерами, с последующим сжатием до оптимального......
safe$22
9 1
требуется готовую онлайн анкету на django по приему на работу перенести в whatsapp, telegram и viber. Нужно чтобы кандидат мог с удобством заполнять анкету с телефона, а все заполненные им данные по всем позициям автоматически загружались в нашу базу данных. В нашей базе будет создаваться резюме кандидата......
safe 
28 1
В наличии массив кадастровых номеров (КН), необходимо путем запроса на ПКК определить примерные географические координаты каждого объекта из массива КН (ОКС, ЗУ), вывести в результирующий файл эти ко-ты и ряд сопутствующих данных по этому КН....
1 год назад
safe 
44 2
Необходимо разработать бек и фронт мини-сервиса таким образом, чтоб его можно было развернуть внутри другого проекта....
safe$1111
23 0
Стоит на Бизнесе для своих нужд на простеньком базовом шаблоне, складываю туда контент потихоньку. Нужно начинать приводить в соответствие что бы публика сразу не убегала, а как то цеплялась, да и продвигать не торопясь. Шаблон где порвался от вставки баннеров подправить, для мобилок может сверстать.......
safe$22
55 0
Парсер для сайта stockx. com на питоне (selenium/pyppeteer). Необходим следующий функционал: 1. На главной странице с поиском по ключевым словам найти первый результат из поиска (ссылку на страницу товара) ....
1 год назад
safe$44
49 0
Трипланарная транспортная задача (отправители - транспорт - получатели) генерация исходных данных трехэтапное решение 1....
safe$1111
48 0
Требуется написать парсер маркетплейса, у которого есть только мобильное приложение (IOS, Android). Есть исходный код Android приложения (Java + Kotlin), реверснутый через JADX. Необходимо парсить данные о товарах, полученные по артикулу. За подробностями тг: @markermann)....
1 год назад
 
38 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
36 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
37 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
31 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
40 1
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
$22
59 1
В Геткурсе нужно сделать интеграцию со Сбербанком для оформления рассрочки/кредита. Основная задача – передача суммы и номера заказа при переходе для оформления рассрочки и возврат сведений при удачном оформлении. Эквайринг от Сбербанка к Геткурсу подключён, а готовой интеграции для рассрочки нет. Если......
1 год назад
 
96 0
Нужно сделать бот перехватчик заказов по фильтру такси Максим!...
1 год назад
$33
75 1
Как можно загрузить готовое фото из галереи, если приложение просит загрузить фото и при этом открывает камеру телефона? Нужно вместо использования реальной камеры смоделировать вход камеры и при этом загрузить фото из галереи....
1 год назад
Смотреть все