Инструменты для захвата и конвертирования Интернета

PHP Scraper API с GrabzIt

PHP Scraper API

Наш PHP Scraper API позволяет добавить мощь GrabzIt Web Scraper в ваше приложение. Это гораздо лучшее решение, чем простые парсеры HTML DOM, обычно реализуемые PHP-приложениями.

Для начала ты должен создать царапину, Затем для разбора сети в вашем приложении вы должны скачать Библиотека PHP. Наконец, чтобы начать, посмотрите на пример обработчика, расположенный внутри загрузки.

Обработать очищенные данные

Самый простой способ обработки очищенных данных - это доступ к данным в виде объекта JSON или XML. Поскольку это позволяет легко манипулировать данными и запрашивать их. Структура JSON будет иметь следующий общий формат с именем набора данных в качестве атрибута объекта. Сам содержит массив объектов с именем каждого столбца в качестве другого атрибута.

{
  "Dataset_Name": [
    {
      "Column_One": "https://grabz.it/",
      "Column_Two": "Found"
    },
    {
      "Column_One": "http://dfadsdsa.com/",
      "Column_Two": "Missing"
    }]
}

Прежде всего следует помнить, что обработчику будут отправлены все извлеченные данные. Это может включать данные, которые не могут быть преобразованы в объекты JSON или XML. Поэтому тип данных, которые вы получаете, должен быть проверен перед обработкой.

$scrapeResult = new \GrabzIt\Scraper\ScrapeResult();

if ($scrapeResult->getExtension() == 'json')
{
    $json = $scrapeResult->toJSON();
    foreach ($json->Dataset_Name as $obj)
    {
        if ($obj->Column_Two == "Found")
        {
            //do something
        }
        else
        {
            //do something else
        }
    }
}
else
{
    //probably a binary file etc save it
    $scrapeResult->save("results/".$scrapeResult->getFilename());
}

В приведенном выше примере показано, как выполнить цикл по всем результатам набора данных. Dataset_Name, Затем для каждого результата выполните определенное действие в зависимости от значения Column_Two атрибут. Также, если файл, полученный обработчиком, не является файлом JSON, тогда это просто saved к каталогу результатов. В то время как класс ScrapeResult пытается гарантировать, что все опубликованные файлы происходят с серверов GrabzIt. Расширение файлов также должно быть проверено, прежде чем они будут saved.

Методы ScrapeResult

Ниже перечислены все методы класса ScrapeResult, которые можно использовать для обработки результатов очистки.

Отладка

Лучший способ отладить ваш обработчик PHP - это загрузить результаты для анализа из веб-царапины стр. затем save файл, с которым у вас возникла проблема, в доступном месте. Путь к этому файлу затем может быть передан в конструктор класса ScrapeResult. Это позволяет вам отлаживать ваш обработчик без необходимости каждый раз выполнять новую очистку, как показано ниже.

$scrapeResult = new \GrabzIt\Scraper\ScrapeResult("data.json");

//the rest of your handler code remains the same

Управление скребком

С помощью GrabzIt Web Scraper API вы можете изменить этот статус очистки. Путем удаленного запуска, остановки, включения или отключения очистки по мере необходимости. Это показано в примере ниже. Передавая идентификатор царапины вместе с желаемым состоянием царапины SetScrapeStatus метод.

$client = new \GrabzIt\Scraper\GrabzItScrapeClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
//Get all of our scrapes
$myScrapes = $client->GetScrapes();
if (empty($myScrapes))
{
    throw new Exception("You haven't created any scrapes yet! Create one here: https://grabz.it/scraper/scrape/");
}
//Start the first scrape
$client->SetScrapeStatus($myScrapes[0]->ID, "Start");
if (count($myScrapes[0]->Results) > 0)
{
    //re-send first scrape result if it exists
    $client->SendResult($myScrapes[0]->ID, $myScrapes[0]->Results[0]->ID);
}

GrabzItScrapeClient Методы и свойства

Ниже перечислены все методы и свойства класса GrabzItScrapeClient, которые можно использовать для управления веб-скрепами.