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

पायथन के लिए वेब स्क्रैपर एपीआई पायथन स्क्रेपर एपीआई

सब से पहले डाउनलोड पायथन के लिए वेब स्क्रैपर एपीआई और आरंभ करने के लिए अंदर स्थित उदाहरण हैंडलर को देखें।

प्रोसेस किया हुआ डेटा

स्क्रैप किए गए डेटा को संसाधित करने का सबसे आसान तरीका डेटा को JSON या XML ऑब्जेक्ट के रूप में एक्सेस करना है, क्योंकि यह डेटा को आसानी से हेरफेर और क्वेरी करने में सक्षम बनाता है। JSON को ऑब्जेक्ट विशेषता के रूप में डेटासेट नाम के साथ निम्न सामान्य प्रारूप में संरचित किया जाएगा, जिसमें प्रत्येक कॉलम नाम के साथ अन्य विशेषता के रूप में ऑब्जेक्ट की एक सरणी होती है।

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

सबसे पहले यह याद रखना चाहिए कि हैंडलर को सभी स्क्रैप किए गए डेटा भेजे जाएंगे, जिसमें वह डेटा शामिल हो सकता है जिसे JSON या XML ऑब्जेक्ट में कनवर्ट नहीं किया जा सकता है। इसलिए आपके द्वारा प्राप्त किए जाने वाले डेटा के प्रकार को संसाधित होने से पहले जांचना आवश्यक है।

scrapeResult = ScrapeResult.ScrapeResult()

if scrapeResult.getExtension() == 'json':
    json = scrapeResult.toJSON()
    for json["Dataset_Name"] in 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 वर्ग के सभी तरीके हैं जो स्क्रैप परिणामों को संसाधित करने के लिए उपयोग किए जा सकते हैं।

  • string getExtension() - परिमार्जन के परिणामस्वरूप किसी भी फ़ाइल का विस्तार मिलता है।
  • string getFilename() - परिमार्जन के परिणामस्वरूप किसी भी फ़ाइल का फ़ाइल नाम मिलता है।
  • object toJSON() - परिमार्जन से उत्पन्न किसी JSON फ़ाइल को कनवर्ट करता है intएक वस्तु ओ।
  • string toString() - खुरचनी से उत्पन्न किसी भी फ़ाइल को एक में कनवर्ट करता है string.
  • xml.etree.ElementTree toXML() - एक XML तत्व के लिए परिमार्जन से उत्पन्न किसी भी XML फ़ाइल धर्मान्तरित।
  • boolean save(path) - saveकिसी भी फ़ाइल के परिमार्जन के फलस्वरूप, यदि वह सफल होती है तो वापस लौट आती है।

डीबगिंग

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

scrapeResult = ScrapeResult.ScrapeResult("data.json");

#the rest of your handler code remains the same

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

पाइथन के लिए GrabzIt के वेब स्क्रैपर एपीआई के साथ आप आवश्यक रूप से एक स्क्रैप को दूरस्थ रूप से प्रारंभ, रोक, सक्षम या अक्षम कर सकते हैं। यह नीचे दिए गए उदाहरण में दिखाया गया है कि स्क्रैप की आईडी के साथ नई स्क्रैप स्थिति को पारित किया गया है SetScrapeStatus विधि.

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

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

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

  • GrabzItScrape[] GetScrapes() - GrabzItScrape ऑब्जेक्ट की एक सरणी के रूप में सभी उपयोगकर्ताओं को स्क्रैप करता है।
  • GrabzItScrape GetScrape(id) - वांछित स्क्रेप का प्रतिनिधित्व करने वाली GrabzItScrape ऑब्जेक्ट देता है।
  • SetScrapeProperty(id, property) - सेट करता है एक परिमार्जन की संपत्ति और सफल होने पर वापस लौटता है।
  • SetScrapeStatus(id, status) - एक परिमार्जन की स्थिति ("प्रारंभ", "रोकें", "सक्षम करें," अक्षम ") सेट करता है और सफल होने पर वापस लौटता है।
  • SendResult(id, resultId) - एक परिमार्जन का परिणाम हल करता है और सफल होने पर वापस लौटता है।
    • स्क्रेप आईडी और रिजल्ट आईडी को गेटस्क्रेप विधि से पाया जा सकता है।
  • SetLocalProxy(proxyUrl) - सभी अनुरोधों के लिए स्थानीय प्रॉक्सी सर्वर का उपयोग करने के लिए सेट करता है।