Наш 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.
Dataset_Name
Column_Two
Ниже перечислены все методы класса 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 метод.
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.aspx"); } //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, которые можно использовать для управления веб-скрепами.