वेब पर कब्जा और परिवर्तित करने के लिए उपकरण

GrabzIt के साथ PHP स्क्रैपर एपीआई

PHP खुरचनी एपीआई

हमारे PHP स्क्रैपर एपीआई GrabzIt के वेब स्क्रेपर की शक्ति को आपके ऐप में जोड़ने की अनुमति देता है। यह साधारण 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 वर्ग के सभी तरीके हैं जो स्क्रैप परिणामों को संसाधित करने के लिए उपयोग किए जा सकते हैं।

डीबगिंग

अपने PHP हैंडलर को डीबग करने का सबसे अच्छा तरीका है कि परिणामों को एक स्क्रैप से डाउनलोड करना वेब स्क्रैप पृष्ठ। फिर save वह फ़ाइल जिसे आप किसी सुलभ स्थान पर जारी कर रहे हैं। इस फ़ाइल का पथ तब ScrapeResult वर्ग के निर्माता को दिया जा सकता है। यह आपको अपने हैंडलर को हर बार एक नया परिमार्जन किए बिना डीबग करने की अनुमति देता है, जैसा कि नीचे दिखाया गया है।

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

//the rest of your handler code remains the same

एक परिमार्जन नियंत्रित

GrabzIt के वेब स्क्रैपर एपीआई के साथ आप एक परिमार्जन की स्थिति को बदल सकते हैं। दूरस्थ रूप से शुरू करना, रोकना, सक्षम करना या आवश्यकतानुसार स्क्रैप को अक्षम करना। यह नीचे दिए गए उदाहरण में दिखाया गया है। वांछित स्क्रैप स्थिति के साथ स्क्रैप की आईडी पास करके 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);
}

GrabzItSrapeClient के तरीके और गुण

नीचे सूचीबद्ध सभी तरीके और GrabzItScrapeClient वर्ग के गुण हैं जिनका उपयोग वेब स्क्रैप को नियंत्रित करने के लिए किया जा सकता है।