Herşeyden önce indir Python için Web Sıyırıcı API'sine bakın ve başlamak için içindeki örnek işleyiciye bakın.
Kazınmış verileri işlemenin en kolay yolu, verilere kolayca manipüle edilmesini ve sorgulanmasını sağladığı için verilere bir JSON veya XML nesnesi olarak erişmektir. JSON, aşağıdaki genel formatta, nesne özniteliği olarak veri kümesi adıyla ve kendisi de her bir sütun adının başka bir öznitelik olarak bulunduğu bir dizi nesnesi içeren yapılandırılacaktır.
{ "Dataset_Name": [ { "Column_One": "https://grabz.it/", "Column_Two": "Found" }, { " Column_One": "http://dfadsdsa.com/" , "Column_Two" : "Missing" }] }
Öncelikle, işleyicinin, JSON veya XML nesnelerine dönüştürülemeyen verileri içerebilecek tüm sıyrılmış veriler gönderileceği unutulmamalıdır. Bu nedenle, aldığınız veri türünün işlenmeden önce kontrol edilmesi gerekir.
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())
Yukarıdaki örnekte, veri kümesinin tüm sonuçlarında nasıl döngü geçirileceği gösterilmiştir Dataset_Name
ve değerine bağlı olarak belirli işlemler yapın. Column_Two
özniteliği. Ayrıca, işleyici tarafından alınan dosya bir JSON dosyası değilse, o zaman sadece saved sonuç dizinine. ScrapeResult sınıfı, gönderilen tüm dosyaların GrabzIt sunucusundan kaynaklandığından emin olmaya çalışsa da, dosyaların uzantısı da önceden denetlenmelidir. saved.
Aşağıda, sıyrık sonuçlarını işlemek için kullanılabilecek ScrapeResult sınıfının tüm yöntemleri listelenmiştir.
Python işleyicinizi hata ayıklamanın en iyi yolu, bir sıyrık için sonuçları indirmektir. web notları sayfa, save Sorunlu bir konuma sahip olduğunuz bir dosyaya gidin ve o dosyanın yolunu ScrapeResult sınıfının yapıcısına iletin. Bu, aşağıda gösterildiği gibi her seferinde yeni bir kazıma yapmak zorunda kalmadan işleyicinizi hata ayıklamanızı sağlar.
scrapeResult = ScrapeResult.ScrapeResult("data.json"); #the rest of your handler code remains the same
GrabzIt'ın Python için Web Kazıyıcı API'si ile gerektiği şekilde bir kazıma işlemini uzaktan başlatabilir, durdurabilir, etkinleştirebilir veya devre dışı bırakabilirsiniz. Bu, aşağıdaki örnekte gösterilen sıyrık kimliği ile birlikte yeni sıyırıcı durumuna geçildi SetScrapeStatus
yöntemi.
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); }
Aşağıda, durum sıyrıklarını kontrol etmek için kullanılabilecek GrabzItScrapeClient sınıfının tüm yöntemleri ve özellikleri listelenmiştir.