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