HTML scraper API

HTML scraper API / сервис за HTML парсирање - документација

 

Основни информации

Сервис кој парсира HTML во JSON структура користејки xPath selector логика.

 

Токен и автентикација на сервис

Потребно е да сте најавен корисник за да можете да го користите сервисот.

Најавата / регистрацијата ја упростивме на најлесниот можен начин. Потребно е само да се најавите со вашиот Google / Gmail профил. После најавата во полето за токен (подоле) ќе можете да го користите Вашиот личен токен на PHP.mk сервисите.

Личен токен

За да се прикаже токенот, потребна е најава!

 

Користење на сервисот v1.0

Верзија ({верзија}): v1.0

Линк до страна за парсирање ({url}): ?url= пр. "https://www.gsmarena.com/samsung_galaxy_s10_5g-9588.php"

Селектор ({rules}): ?rules= пр. "div|class=article-info:0,h1|class=specs-phone-name-title:0"


Синаткса на rules параметар: таг|атрибут=вредност:индекс,child_таг|атрибут:индекс

пр.

<div class="article-info">

   <p>Something...</p>

   <h1 class="specs-phone-name-title">Samsung Galaxy S10 5G</h1>

</div>

rules за HTML-то погоре би било: div|class=article-info:0,h1|class=specs-phone-name-title:0

Сервис end-point

HTTP/GET

https://api.php.mk/scrape/{верзија}?token={token}&rules={rules}&url={url}

Пример HTTP/GET request

https://api.php.mk/scrape/v1.0?token=&rules=div|class=article-info:0,h1|class=specs-phone-name-title:0&url=https://www.gsmarena.com/samsung_galaxy_s10_5g-9588.php

Пример PHP

$url='https://api.php.mk/scrape/v1.0?token=&rules=div|class=article-info:0,h1|class=specs-phone-name-title:0&url=https://www.gsmarena.com/samsung_galaxy_s10_5g-9588.php';
$jsonResponse=file_get_contents($url);
$response= json_decode($jsonResponse,true);
            
echo '<pre>';
print_r($response['data']);
exit();

Пример cUrl

curl -X GET  'https://api.php.mk/scrape/v1.0?token=&rules=div|class=article-info:0,h1|class=specs-phone-name-title:0&url=https://www.gsmarena.com/samsung_galaxy_s10_5g-9588.php';

Пример Javascript

var xhr = new XMLHttpRequest();
xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    var response_data=JSON.parse(this.responseText).data;
    console.log(response_data);
  }
});
xhr.open("GET", "https://api.php.mk/scrape/v1.0?token=&rules=div|class=article-info:0,h1|class=specs-phone-name-title:0&url=https://www.gsmarena.com/samsung_galaxy_s10_5g-9588.php");
xhr.send();

Пример jQuery / JavaScript

$.getJSON('https://api.php.mk/scrape/v1.0?token=&rules=div|class=article-info:0,h1|class=specs-phone-name-title:0&url=https://www.gsmarena.com/samsung_galaxy_s10_5g-9588.php',function(r){

    console.log(r.data);

}).error(function(error){

    console.log(error.responseJSON.msg);

});

 

Одговор од сервисот

Одговорот е секогаш во JSON формат

Одговорот од сервисот е содржината на HTML селекторот во JSON формат.

Пример од одговор

{
    "error": false,
    "status_text": "OK",
    "status_code": 200,
    "data": {
        "tag": "h1",
        "class": "specs-phone-name-title",
        "data-spec": "modelname",
        "text": "Samsung Galaxy S10 5G"
    }
}