Tools om het web vast te leggen en te converteren

Web Scraper API voor Python

Python Scraper API

Allereerst Download de Web Scraper API voor Python en kijk naar de voorbeeldhandler die zich binnenin bevindt om te beginnen.

Geschraapte gegevens verwerken

De eenvoudigste manier om geschraapte gegevens te verwerken, is toegang tot de gegevens als een JSON- of XML-object, omdat de gegevens hierdoor gemakkelijk kunnen worden gemanipuleerd en opgevraagd. De JSON zal worden gestructureerd in het volgende algemene formaat met de gegevenssetnaam als het objectkenmerk, dat zelf een reeks objecten bevat met elke kolomnaam als een ander kenmerk.

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

Allereerst moet worden bedacht dat de handler alle geschraapte gegevens zal ontvangen, waaronder mogelijk gegevens die niet kunnen worden geconverteerd naar JSON- of XML-objecten. Daarom moet het type gegevens dat u ontvangt, worden gecontroleerd voordat deze worden verwerkt.

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

Het bovenstaande voorbeeld laat zien hoe u alle resultaten van de gegevensset kunt doorlopen Dataset_Name en specifieke acties uitvoeren, afhankelijk van de waarde van de Column_Two attribuut. Ook als het door de handler ontvangen bestand geen JSON-bestand is, dan is het gewoon saved naar resultatenmap. Hoewel de ScrapeResult-klasse probeert ervoor te zorgen dat alle geposte bestanden afkomstig zijn van de servers van GrabzIt, moet de extensie van de bestanden ook worden gecontroleerd voordat ze saved.

ScrapeResult Methods

Hieronder staan ​​alle methoden van de klasse ScrapeResult die kunnen worden gebruikt om scrape-resultaten te verwerken.

Debugging

De beste manier om uw Python-handler te debuggen is door de resultaten voor een scrape van de te downloaden web krassen pagina, save het bestand waarmee u een probleem ondervindt naar een toegankelijke locatie en geef het pad van dat bestand door aan de constructor van de klasse ScrapeResult. Hiermee kunt u uw handler debuggen zonder dat u elke keer opnieuw hoeft te krabben, zoals hieronder wordt weergegeven.

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

#the rest of your handler code remains the same

Een schraapbediening besturen

Met de Web Scraper API van GrabzIt voor Python kunt u een scrape op afstand starten, stoppen, activeren of deactiveren. Dit wordt getoond in het onderstaande voorbeeld waar de ID van het schrapen samen met de nieuwe schraapstatus wordt doorgegeven aan de SetScrapeStatus methode.

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-methoden en eigenschappen

Hieronder vindt u alle methoden en eigenschappen van de klasse GrabzItScrapeClient die kunnen worden gebruikt om de statusschrappen te beheren.