ਵੈੱਬ ਨੂੰ ਕੈਪਚਰ ਅਤੇ ਕਨਵਰਟ ਕਰਨ ਲਈ ਟੂਲ

ਗਰੈਬਜ਼ਿਟ ਦੇ ਨਾਲ ਪੀਐਚਪੀ ਸਕ੍ਰੈਪਰ ਏਪੀਆਈPHP ਸਕ੍ਰੈਪਰ API

ਸਾਡੀ ਪੀਐਚਪੀ ਸਕ੍ਰੈਪਰ ਏਪੀਆਈ ਗਰੈਬਜ਼ ਆਈਟ ਦੀ ਵੈੱਬ ਸਕ੍ਰੈਪਰ ਦੀ ਸ਼ਕਤੀ ਨੂੰ ਤੁਹਾਡੇ ਐਪ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ. ਇਹ ਸਧਾਰਣ ਐਚਟੀਐਮਐਲ ਡੀਓਐਮ ਪਾਰਸਰਾਂ ਨਾਲੋਂ ਬਹੁਤ ਵਧੀਆ ਹੱਲ ਹੈ, ਆਮ ਤੌਰ ਤੇ ਪੀਐਚਪੀ ਸਕ੍ਰੈਪਿੰਗ ਐਪਸ ਦੁਆਰਾ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ.

ਤੁਹਾਡੇ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ ਇੱਕ ਸਕ੍ਰੈਪ ਬਣਾਓ. ਫਿਰ ਆਪਣੀ ਐਪ ਵਿੱਚ ਵੈਬ ਪਾਰਸ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਲਾਜ਼ਮੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਡਾਊਨਲੋਡ ਪੀਐਚਪੀ ਲਾਇਬ੍ਰੇਰੀ. ਅੰਤ ਵਿੱਚ, ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਡਾਉਨਲੋਡ ਦੇ ਅੰਦਰ ਸਥਿਤ ਉਦਾਹਰਣ ਹੈਂਡਲਰ ਨੂੰ ਵੇਖੋ.

ਸਕ੍ਰੈਪਡ ਡੇਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰੋ

ਸਕ੍ਰੈਪਡ ਡੇਟਾ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਸੌਖਾ ਤਰੀਕਾ ਹੈ ਕਿ JSON ਜਾਂ XML ਆਬਜੈਕਟ ਦੇ ਤੌਰ ਤੇ ਡੇਟਾ ਤੱਕ ਪਹੁੰਚਣਾ. ਜਿਵੇਂ ਕਿ ਇਹ ਡੇਟਾ ਨੂੰ ਅਸਾਨੀ ਨਾਲ ਹੇਰਾਫੇਰੀ ਕਰਨ ਅਤੇ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੇ ਯੋਗ ਕਰਦਾ ਹੈ. ਜੇਐਸਓਐਨ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਆਮ ਫਾਰਮੈਟ ਵਿੱਚ uredਾਂਚਾ ਕੀਤਾ ਜਾਏਗਾ, ਡੇਟਾਸੇਟ ਦੇ ਨਾਮ ਦੇ ਨਾਲ ਆਬਜੈਕਟ ਗੁਣ. ਆਪਣੇ ਆਪ ਵਿਚ ਹਰ ਇਕ ਕਾਲਮ ਦੇ ਨਾਮ ਦੇ ਨਾਲ ਇਕ ਹੋਰ ਗੁਣ ਦੇ ਰੂਪ ਵਿਚ ਇਕਾਈਆਂ ਦੀ ਇਕ ਐਰੇ ਸ਼ਾਮਲ ਹੈ.

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

ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਯਾਦ ਰੱਖਣਾ ਲਾਜ਼ਮੀ ਹੈ ਕਿ ਹੈਂਡਲਰ ਨੂੰ ਕੱ extਿਆ ਸਾਰਾ ਡਾਟਾ ਭੇਜਿਆ ਜਾਵੇਗਾ. ਇਸ ਵਿੱਚ ਉਹ ਡੇਟਾ ਸ਼ਾਮਲ ਹੋ ਸਕਦਾ ਹੈ ਜੋ 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 ਗੁਣ. ਇਸ ਤੋਂ ਇਲਾਵਾ ਜੇ ਹੈਂਡਲਰ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤੀ ਗਈ ਫਾਈਲ ਜੇਐਸਐਨ ਫਾਈਲ ਨਹੀਂ ਹੈ ਤਾਂ ਇਹ ਬਿਲਕੁਲ ਸਹੀ ਹੈ saved ਨਤੀਜੇ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ. ਜਦੋਂ ਕਿ ਸਕ੍ਰੈਪਰੇਸਾਲਟ ਕਲਾਸ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ ਕਿ ਸਾਰੀਆਂ ਪੋਸਟ ਕੀਤੀਆਂ ਫਾਈਲਾਂ ਗਰੈਬਜ਼ਿਟ ਦੇ ਸਰਵਰਾਂ ਤੋਂ ਆਉਂਦੀਆਂ ਹਨ. ਫਾਈਲਾਂ ਦੇ ਫੈਲਣ ਤੋਂ ਪਹਿਲਾਂ ਉਨ੍ਹਾਂ ਦੀ ਜਾਂਚ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ saved.

ਸਕ੍ਰੈਪਰੇਸਾਲਟ odੰਗ

ਹੇਠਾਂ ਸੂਚੀਬੱਧ ਸਕ੍ਰੈਪਰੇਸਾਲਟ ਕਲਾਸ ਦੇ ਸਾਰੇ theੰਗ ਹਨ ਜੋ ਸਕ੍ਰੈਪ ਨਤੀਜਿਆਂ ਤੇ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ.

  • string getExtension() - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕਿਸੇ ਵੀ ਫਾਈਲ ਦਾ ਐਕਸਟੈਂਸ਼ਨ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ.
  • string getFilename() - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕਿਸੇ ਵੀ ਫਾਈਲ ਦਾ ਨਾਮ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ.
  • object toJSON() - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕਿਸੇ ਵੀ JSON ਫਾਈਲ ਨੂੰ ਬਦਲਦਾ ਹੈ into ਇਕ ਵਸਤੂ.
  • string toString() - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕਿਸੇ ਵੀ ਫਾਈਲ ਨੂੰ ਏ string.
  • SimpleXMLElement toXML() - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕਿਸੇ ਵੀ ਐਕਸਐਮਐਲ ਫਾਈਲ ਨੂੰ ਇੱਕ ਐਕਸਐਮਐਲ ਐਲੀਮੈਂਟ ਵਿੱਚ ਬਦਲਦਾ ਹੈ.
  • boolean save($path) - saveਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕੋਈ ਵੀ ਫਾਈਲ, ਜੇ ਇਹ ਸਫਲ ਹੁੰਦੀ ਹੈ ਤਾਂ ਸਹੀ ਵਾਪਸ ਆਉਂਦੀ ਹੈ.

ਡੀਬੱਗਿੰਗ

ਤੁਹਾਡੇ ਪੀਐਚਪੀ ਹੈਂਡਲਰ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕਾ ਹੈ ਕਿ ਸਕ੍ਰੈਪ ਲਈ ਨਤੀਜਿਆਂ ਨੂੰ ਡਾ theਨਲੋਡ ਕਰਨਾ ਵੈਬ ਸਕ੍ਰੈਪਸ ਪੇਜ ਫਿਰ save ਇੱਕ ਫਾਈਲ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਇੱਕ ਪਹੁੰਚਯੋਗ ਟਿਕਾਣੇ ਤੇ ਮੁਸ਼ਕਲ ਪੇਸ਼ ਕਰ ਰਹੇ ਹੋ. ਇਸ ਫਾਈਲ ਦਾ ਮਾਰਗ ਫਿਰ ਸਕ੍ਰੈਪਰੇਸੈਲਟ ਕਲਾਸ ਦੇ ਨਿਰਮਾਤਾ ਨੂੰ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ. ਇਹ ਤੁਹਾਨੂੰ ਹਰ ਵਾਰ ਨਵਾਂ ਸਕ੍ਰੈਪ ਕੀਤੇ ਬਿਨਾਂ ਆਪਣੇ ਹੈਂਡਲਰ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ.

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

//the rest of your handler code remains the same

ਸਕ੍ਰੈਪ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨਾ

ਗਰੈਬਜ਼ਆਈਟੀ ਦੇ ਵੈੱਬ ਸਕ੍ਰੈਪਰ ਏਪੀਆਈ ਦੇ ਨਾਲ ਤੁਸੀਂ ਸਕ੍ਰੈਪ ਦੀ ਉਸ ਸਥਿਤੀ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹੋ. ਲੋੜ ਅਨੁਸਾਰ ਰਿਮੋਟਲੀ ਤੌਰ 'ਤੇ ਸ਼ੁਰੂ ਕਰਨ, ਰੋਕਣ, ਸਮਰੱਥ ਕਰਨ ਜਾਂ ਅਯੋਗ ਕਰਨ ਦੁਆਰਾ. ਇਹ ਹੇਠਾਂ ਦਿੱਤੀ ਉਦਾਹਰਣ ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈ. ਨੂੰ ਲੋੜੀਂਦੀ ਸਕ੍ਰੈਪ ਸਥਿਤੀ ਦੇ ਨਾਲ ਸਕ੍ਰੈਪ ਦੀ ਆਈਡੀ 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);
}

ਗਰੈਬਜ਼ਆਈਟਸਕ੍ਰੇਪ ਕਲੇਅਇੰਟ odੰਗ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾ

ਹੇਠਾਂ ਸੂਚੀਬੱਧ ਕੀਤੇ ਗਏ ਗਰੈਬਜ਼ ਆਈਟਸਕ੍ਰੈਪ ਕਲਾਇੰਟ ਕਲਾਸ ਦੇ ਸਾਰੇ theੰਗਾਂ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ ਜੋ ਵੈਬ ਸਕ੍ਰੈਪਸ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਵਰਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ.

  • GrabzItScrape[] GetScrapes() - GrabzItScrape ਆਬਜੈਕਟ ਦੀ ਇੱਕ ਐਰੇ ਦੇ ਤੌਰ ਤੇ ਸਾਰੇ ਉਪਭੋਗਤਾ ਸਕ੍ਰੈਪਸ ਵਾਪਸ ਕਰਦਾ ਹੈ.
  • GrabzItScrape GetScrape($id) - ਇੱਕ ਗਰੈਬਜ਼ਿਟਸਕ੍ਰੇਪ ਆਬਜੈਕਟ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਿਸ ਨਾਲ ਲੋੜੀਂਦੇ ਸਕ੍ਰੈਪ ਦੀ ਪ੍ਰਤੀਨਿਧਤਾ ਹੁੰਦੀ ਹੈ.
  • SetScrapeProperty($id, $property) - ਸੈੱਟ ਕਰਦਾ ਹੈ ਖੁਰਚਣ ਦੀ ਜਾਇਦਾਦ ਅਤੇ ਜੇ ਸਫਲ ਹੁੰਦਾ ਹੈ ਤਾਂ ਸਹੀ ਵਾਪਸੀ ਕਰਦਾ ਹੈ.
  • SetScrapeStatus($id, $status) - ਸਕ੍ਰੈਪ ਦੀ ਸਥਿਤੀ ("ਸਟਾਰਟ", "ਸਟਾਪ", "ਸਮਰੱਥ", "ਅਯੋਗ") ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ ਅਤੇ ਜੇ ਸਫਲ ਹੁੰਦੀ ਹੈ ਤਾਂ ਸਹੀ ਵਾਪਸ ਆਉਂਦੀ ਹੈ.
  • SendResult($id, $resultId) - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਨੂੰ ਦੁਬਾਰਾ ਭੇਜਦਾ ਹੈ ਅਤੇ ਜੇ ਸਫਲ ਹੁੰਦਾ ਹੈ ਤਾਂ ਸਹੀ ਵਾਪਸ ਮਿਲਦਾ ਹੈ.
    • ਸਕ੍ਰੈਪ ਆਈਡੀ ਅਤੇ ਨਤੀਜਾ ਆਈਡੀ ਗੇਟਸਕ੍ਰੈਪ ਵਿਧੀ ਤੋਂ ਪਾਇਆ ਜਾ ਸਕਦਾ ਹੈ.
  • SetLocalProxy($proxyUrl) - ਸਥਾਨਕ ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਨੂੰ ਸਾਰੀਆਂ ਬੇਨਤੀਆਂ ਲਈ ਵਰਤੇ ਜਾਣ ਲਈ ਸੈੱਟ ਕਰਦਾ ਹੈ.