Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Язык реализации: PHP

Заказ предусматривает 3 этапа реализации.

Этапы олачиваются по мере исполнения.

Этап 1

Реализовать HTTP клиент для парсинга с возможностью динамической смены

IP и User_Agent (далее U_A)

Объект клиента должен реализовывать методы:

use Psr\Http\Message\ResponseInterface;

use Psr\Http\Message\ServerRequestInterface;

getResponse(ServerRequestInterface $request); // возвращает ResponseInterface

changeIp($ipOptions = null); //меняет IP используемый при запросе.

changeUa($uaOptions = null); //меняет U_A, используемый при запросе.

changeHeaders(array $headers = null); //headers используемые при запросе.

getRequest($url); //использует значения $headers, $ip, $ua установленные ^^^выше^^^.

isBanned($response) {return false;} // точка расширения

getHtml($url); //возвращает контент страницы преодолевая ошибки и баны.



Для генерации U_A использовать библиотеку https://github.com/phpfail/UserAgentGenerator

Для получения новых прокси IP использовать CSV файл. IP для него взять тут:  http://spys.one/free-proxy-list/US/

Этап 2

 

Реализовать парсер выдачи Ebay и парсер лота

Объект клиента должен реализовывать методы:

getEbaySearchResults($uri) //где $uri может быть = "_nkw=tusk&_sacat=6000&_sop=2"

//возвращает массив найденных лотов. Для каждого лота возвращает:

//url, urlOfImg title, price, shipping и если есть - Watching, Sold, SellerId, SellerScore, #Item

//парсим библиотекой http://simplehtmldom.sourceforge.net/

//примеры - http://parsing.valemak.com/ru/php/library/php-simple-html-dom-parser/quick-start/

saveEbaySearchResults($store = null) //пишет результаты поиска в CSV файл с именем $store

makeEbayUrlByItemId($id) //результат типа http://www.ebay.com/itm/12345678912

getEbayItemByUrl($url) //Возвращает массив с параметрами лота:

//ItemId, SellerId, title, price, shipping, category, imgUrl1...imgUrl8,

//compatibility(array), specifics(array), если есть - Watching, Sold,

//коды для compatibility тут:

// https://www.ebay.co.uk/pages/help/sell/contextual/master-vehicle-list-manually.html

saveEbayItem($store = null) //пишет параметры лота в CSV файл с именем $store

Этап 3

Написать краулер - логику обхода лотов парсером, логирование ошибок, автоподгрузку новых проксиIP, REST интерфейс к сервису.

Подробное задание будет предоставлено после окончания первого этапа.

6 лет назад
ana753951
39 лет
9 лет в сервисе
Была
5 лет назад

Выбранный исполнитель

serifsafarof
Шериф 
27 лет
7 лет в сервисе
Был
год назад
6 лет назад
$50
3 дня
Escrow
Рекомендую
Рекомендую

Заявки фрилансеров

serifsafarof
Шериф 
27 лет
7 лет в сервисе
Был
год назад
6 лет назад