Strumenti per acquisire e convertire il Web

API Web Scraper per Python

API Python Scraper

Prima di tutto scaricare l'API Web Scraper per Python e guarda il gestore di esempio che si trova all'interno per iniziare.

Elaborazione dei dati acquisiti

Il modo più semplice per elaborare i dati di scraping è accedere ai dati come oggetto JSON o XML, in quanto ciò consente di manipolare e interrogare facilmente i dati. JSON sarà strutturato nel seguente formato generale con il nome del set di dati come attributo oggetto, a sua volta contenente una matrice di oggetti con ciascun nome di colonna come un altro attributo.

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

Prima di tutto, è necessario ricordare che al gestore verranno inviati tutti i dati di cui è stato eseguito il scraping, che possono includere dati che non possono essere convertiti in oggetti JSON o XML. Pertanto, il tipo di dati che stai ricevendo deve essere verificato prima di essere elaborato.

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())

L'esempio sopra mostra come scorrere tutti i risultati del set di dati Dataset_Name e fare azioni specifiche a seconda del valore di Column_Two attributo. Inoltre, se il file ricevuto dal gestore non è un file JSON, lo è solo saved alla directory dei risultati. Mentre la classe ScrapeResult tenta di garantire che tutti i file postati provengano dai server GrabzIt, è necessario verificare anche l'estensione dei file prima che siano saved.

Metodi ScrapeResult

Di seguito sono elencati tutti i metodi della classe ScrapeResult che possono essere utilizzati per elaborare i risultati della raschiatura.

Debug

Il modo migliore per eseguire il debug del gestore Python è scaricare i risultati per uno scrap dal graffi web pagina, save il file con cui si sta riscontrando un problema in un percorso accessibile e quindi passare il percorso di quel file al costruttore della classe ScrapeResult. Ciò consente di eseguire il debug del gestore senza dover eseguire ogni volta un nuovo scrap, come mostrato di seguito.

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

#the rest of your handler code remains the same

Controllo di una raschiatura

Con l'API Web Scraper di GrabzIt per Python è possibile avviare, arrestare, abilitare o disabilitare in remoto uno scrap secondo necessità. Questo è mostrato nell'esempio seguente dove l'ID del raschiamento insieme al nuovo stato di raschiatura è passato al SetScrapeStatus metodo.

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

Metodi e proprietà GrabzItScrapeClient

Di seguito sono elencati tutti i metodi e le proprietà della classe GrabzItScrapeClient che possono essere utilizzati per controllare gli scrap di stato.