Tout d'abord download l’API Web Scraper pour Python et regardez l’exemple de gestionnaire situé à l’intérieur pour commencer.
Le moyen le plus simple de traiter les données extraites consiste à accéder aux données sous forme d'objet JSON ou XML, car cela permet de manipuler et d'interroger facilement les données. Le JSON sera structuré dans le format général suivant avec le nom du jeu de données comme attribut d'objet, contenant lui-même un tableau d'objets avec chaque nom de colonne comme autre attribut.
{ "Dataset_Name": [ { "Column_One": "https://grabz.it/", "Column_Two": "Found" }, { " Column_One": "http://dfadsdsa.com/" , "Column_Two" : "Missing" }] }
Tout d’abord, il faut se rappeler que le gestionnaire recevra toutes les données extraites, qui peuvent inclure des données qui ne peuvent pas être converties en objets JSON ou XML. Par conséquent, le type de données que vous recevez doit être vérifié avant d’être traité.
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'exemple ci-dessus montre comment parcourir en boucle tous les résultats de l'ensemble de données. Dataset_Name
et faire des actions spécifiques en fonction de la valeur de la Column_Two
attribut. De plus, si le fichier reçu par le gestionnaire n’est pas un fichier JSON, il est simplement saved au répertoire des résultats. Bien que la classe ScrapeResult tente de s’assurer que tous les fichiers publiés proviennent des serveurs de GrabzIt, l’extension des fichiers doit également être vérifiée avant d’être disponible. saved.
La liste ci-dessous répertorie toutes les méthodes de la classe ScrapeResult qui peuvent être utilisées pour traiter les résultats de scrap.
Le meilleur moyen de déboguer votre gestionnaire Python est de télécharger les résultats pour obtenir un extrait du éraflures Web Page, save le fichier que vous rencontrez un problème à un emplacement accessible, puis passez le chemin de ce fichier au constructeur de la classe ScrapeResult. Cela vous permet de déboguer votre gestionnaire sans avoir à refaire une nouvelle opération à chaque fois, comme indiqué ci-dessous.
scrapeResult = ScrapeResult.ScrapeResult("data.json"); #the rest of your handler code remains the same
Avec l'API Web Scraper de GrabzIt pour Python, vous pouvez démarrer, arrêter, activer ou désactiver à distance un éraflure si nécessaire. Ceci est illustré dans l'exemple ci-dessous où l'ID de la note et le nouveau statut de la note sont transmis à la SetScrapeStatus
méthode.
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); }
Vous trouverez ci-dessous la liste de toutes les méthodes et propriétés de la classe GrabzItScrapeClient pouvant être utilisées pour contrôler les altérations d'état.