वेब कॅप्चर आणि रूपांतरित करण्यासाठी साधने

पायथनसाठी वेब स्क्रॅपर API पायथन स्क्रॅपर एपीआय

सर्वप्रथम डाउनलोड पायथनसाठी वेब स्क्रॅपर एपीआय आणि प्रारंभ करण्यासाठी आत असलेल्या उदाहरण हँडलरकडे पहा.

स्क्रॅप केलेला डेटा प्रक्रिया करा

स्क्रॅप केलेल्या डेटावर प्रक्रिया करण्याचा सर्वात सोपा मार्ग म्हणजे जेएसओएन किंवा एक्सएमएल ऑब्जेक्ट म्हणून डेटामध्ये प्रवेश करणे, कारण यामुळे डेटा सहजपणे हाताळला जाऊ शकतो आणि चौकशी केली जाऊ शकते. JSON खालील सर्वसाधारण स्वरूपात डेटासेट नावाने ऑब्जेक्ट विशेषता म्हणून संरचित केले जाईल, ज्यात स्वतःच प्रत्येक स्तंभ नावाचे ऑब्जेक्ट्सचे अ‍ॅरे असते ज्यास दुसर्या विशेषता आहेत.

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

सर्व प्रथम हे लक्षात ठेवणे आवश्यक आहे की हँडलरला सर्व स्क्रॅप केलेला डेटा पाठविला जाईल, ज्यामध्ये जेएसओएन किंवा एक्सएमएल ऑब्जेक्ट्समध्ये रुपांतरित न होऊ शकणारा डेटा असू शकेल. म्हणूनच प्रक्रिया करण्यापूर्वी आपण प्राप्त करीत असलेल्या डेटाचा प्रकार तपासला जाणे आवश्यक आहे.

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 गुणधर्म. हँडलरकडून प्राप्त केलेली फाईल जेएसओएन फाइल नसल्यास ती फक्त योग्य आहे saveडी परिणामांची निर्देशिका. ScrapeResult क्लास सर्व पोस्ट केलेल्या फायली GrabzIt च्या सर्व्हरमधून उद्भवल्या आहेत हे सुनिश्चित करण्याचा प्रयत्न करीत असताना फायलींचा विस्तार देखील होण्यापूर्वी तपासला गेला पाहिजे. saved.

ScrapeResult पद्धती

स्क्रॅपरेस्सल्ट वर्गाच्या सर्व पद्धती खाली सूचीबद्ध केल्या आहेत ज्याचा वापर स्क्रॅप परिणामांवर प्रक्रिया करण्यासाठी केला जाऊ शकतो.

  • string getExtension() - स्क्रॅपमुळे उद्भवणार्‍या कोणत्याही फाईलचा विस्तार होतो.
  • string getFilename() - स्क्रॅपमुळे उद्भवणार्‍या कोणत्याही फाईलचे फाइलनाव प्राप्त करते.
  • object toJSON() - स्क्रॅपमुळे उद्भवलेल्या कोणत्याही JSON फाईलचे रुपांतर करते intओ ऑब्जेक्ट
  • string toString() - स्क्रॅपच्या परिणामी कोणत्याही फाईलला अ मध्ये रुपांतरित करते string.
  • xml.etree.ElementTree toXML() - स्क्रॅपमुळे उद्भवलेल्या कोणत्याही एक्सएमएल फाईलचे एक्सएमएल एलिमेंटमध्ये रुपांतर करते.
  • boolean save(path) - saveस्क्रॅपमुळे उद्भवणारी कोणतीही फाईल ती यशस्वी झाल्यास सत्य परत करते.

डीबग करणे

आपल्या पायथॉन हँडलर डीबग करण्याचा उत्तम मार्ग म्हणजे वरून स्क्रॅपसाठी निकाल डाउनलोड करणे वेब स्क्रॅप्स पृष्ठ, save आपणास फाईलमध्ये प्रवेश करण्यायोग्य ठिकाणी समस्या येत आहे आणि नंतर त्या फाईलचा मार्ग स्क्रॅपरेस्ल्ट क्लासच्या कन्स्ट्रक्टरकडे द्या. हे खाली दर्शविल्यानुसार प्रत्येक वेळी नवीन स्क्रॅप न करता आपल्या हँडलर डीबग करण्यास अनुमती देते.

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

#the rest of your handler code remains the same

स्क्रॅप नियंत्रित करणे

पायबॉनसाठी ग्रॅबझिटच्या वेब स्क्रॅपर एपीआयसह आपण आवश्यकतेनुसार एखादे स्क्रॅप दूरस्थपणे सुरू करू, थांबवू, सक्षम किंवा अक्षम करू शकता. हे खाली दिलेल्या उदाहरणात दर्शविले आहे की स्क्रॅपचा आयडी नवीन स्क्रॅप स्थितीसह पाठविला गेला 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);
}

GrabzItScrapeClient पद्धती आणि गुणधर्म

राज्य स्क्रॅप्स नियंत्रित करण्यासाठी वापरल्या जाणार्‍या ग्रॅबझिटस्क्रेप्लियंट क्लासच्या सर्व पद्धती आणि गुणधर्म खाली सूचीबद्ध आहेत.

  • GrabzItScrape[] GetScrapes() - सर्व वापरकर्त्यांची स्क्रॅप्स GrabzItScrape ऑब्जेक्ट्सच्या अ‍ॅरेच्या रूपात परत करते.
  • GrabzItScrape GetScrape(id) - इच्छित स्क्रॅपचे प्रतिनिधित्व करणारा एक GrabzItScrape ऑब्जेक्ट परत करते.
  • SetScrapeProperty(id, property) - सेट करते स्क्रॅपची मालमत्ता आणि यशस्वी झाल्यास सत्य मिळवते.
  • SetScrapeStatus(id, status) - स्क्रॅपची स्थिती ("प्रारंभ", "थांबा", "सक्षम करा", "अक्षम करा") सेट करते आणि यशस्वी झाल्यास सत्य मिळवते.
  • SendResult(id, resultId) - स्क्रॅपचा निकाल पुन्हा पाठवितो आणि यशस्वी झाल्यास सत्य परत येईल.
    • स्क्रॅप आयडी आणि निकाल आयडी गेटस्क्रेप पद्धतीतून आढळू शकतो.
  • SetLocalProxy(proxyUrl) - सर्व विनंत्यांसाठी वापरण्यासाठी स्थानिक प्रॉक्सी सर्व्हर सेट करते.