Web Yakalama ve Dönüştürme Araçları

Python için Web Kazıyıcı API'si

Python Kazıyıcı API

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ış Veriyi İşleme

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.

ScrapeResult Yöntemleri

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.

Hata ayıklama

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

Kazıma Kontrolü

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);
}

GrabzItScrapeClient Yöntem ve Özellikleri

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.