Outils pour capturer et convertir le Web

API Web Scraper pour Python API Python Scraper

Tout d'abord Télécharger l’API Web Scraper pour Python et regardez l’exemple de gestionnaire situé à l’intérieur pour commencer.

Traiter les données grattées

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.

Méthodes ScrapeResult

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.

  • string getExtension() - obtient l'extension de tout fichier résultant de la suppression.
  • string getFilename() - récupère le nom de fichier de tout fichier résultant de la suppression.
  • object toJSON() - convertit tout fichier JSON résultant de la récupération into un objet.
  • string toString() - convertit tout fichier résultant de la récupération en un string.
  • xml.etree.ElementTree toXML() - convertit tout fichier XML résultant de la récupération en un élément XML.
  • boolean save(path) - saves tout fichier résultant de la récupération, renvoie true s'il réussit.

Débogage

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

Contrôler une éraflure

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

Méthodes et propriétés GrabzItScrapeClient

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.

  • GrabzItScrape[] GetScrapes() - renvoie tous les utilisateurs en tant que tableau d'objets GrabzItScrape.
  • GrabzItScrape GetScrape(id) - retourne un objet GrabzItScrape représentant le scrap souhaité.
  • SetScrapeProperty(id, property) - définit le propriété d'une éraflure et retourne vrai en cas de succès.
  • SetScrapeStatus(id, status) - définit le statut ("Démarrer", "Arrêter", "Activer", "Désactiver") d'une éjection et renvoie true en cas de succès.
  • SendResult(id, resultId) - renvoie le résultat d'un scrap et renvoie true en cas de succès.
    • L'identifiant de scrap et l'identifiant de résultat peuvent être trouvés à partir de la méthode GetScrape.
  • SetLocalProxy(proxyUrl) - définit le serveur proxy local à utiliser pour toutes les demandes.