Narzędzia do przechwytywania i konwertowania Internetu

Web Scraper API for Python Python Scraper API

Przede wszystkim pobieranie API Web Scraper dla Pythona i spójrz na przykładowy moduł obsługi znajdujący się w środku, aby rozpocząć.

Przetwarzaj dane zeskrobane

Najłatwiejszym sposobem przetwarzania zeskrobanych danych jest uzyskanie dostępu do danych jako obiekt JSON lub XML, ponieważ umożliwia to łatwą manipulację danymi i ich wyszukiwanie. JSON będzie miał następującą strukturę ogólną z nazwą zestawu danych jako atrybutem obiektu, sam zawierający tablicę obiektów z nazwą każdej kolumny jako innym atrybutem.

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

Przede wszystkim należy pamiętać, że program obsługi otrzyma wszystkie zeskrobane dane, które mogą obejmować dane, których nie można przekonwertować na obiekty JSON lub XML. Dlatego rodzaj otrzymywanych danych należy sprawdzić przed przetworzeniem.

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

Powyższy przykład pokazuje, jak przeglądać wszystkie wyniki zestawu danych Dataset_Name i wykonuj określone działania w zależności od wartości Column_Two atrybut. Również jeśli plik otrzymany przez program obsługi nie jest plikiem JSON, to jest po prostu saved do katalogu wyników. Podczas gdy klasa ScrapeResult stara się zapewnić, że wszystkie opublikowane pliki pochodzą z serwerów GrabzIt, rozszerzenie plików należy również sprawdzić, zanim zostaną saved.

Metody ScrapeResult

Poniżej wymieniono wszystkie metody klasy ScrapeResult, których można użyć do przetwarzania wyników zgarniania.

  • string getExtension() - pobiera rozszerzenie dowolnego pliku wynikającego ze zeskrobania.
  • string getFilename() - pobiera nazwę pliku dowolnego pliku wynikającego ze zeskrobania.
  • object toJSON() - konwertuje dowolny plik JSON powstały w wyniku zadrapania into przedmiot.
  • string toString() - konwertuje dowolny plik powstały w wyniku złomowania na plik string.
  • xml.etree.ElementTree toXML() - konwertuje dowolny plik XML powstały w wyniku zadrapania na element XML.
  • boolean save(path) - saves dowolny plik wynikający ze zeskrobania, zwraca true, jeśli się powiedzie.

Debugowanie

Najlepszym sposobem debugowania programu obsługi języka Python jest pobranie wyników skrobania z pliku skrobaki z sieci strona, save plik, z którym masz problem, do dostępnej lokalizacji, a następnie przekaż ścieżkę tego pliku do konstruktora klasy ScrapeResult. Pozwala to na debugowanie programu obsługi bez konieczności wykonywania nowego skrobania za każdym razem, jak pokazano poniżej.

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

#the rest of your handler code remains the same

Kontrolowanie zadrapania

Dzięki interfejsowi API Web Scraper dla GrabzIt dla Pythona możesz zdalnie uruchamiać, zatrzymywać, włączać lub wyłączać scrape w razie potrzeby. Jest to pokazane w poniższym przykładzie, w którym identyfikator zgarnięcia wraz z nowym statusem zgarnięcia jest przekazywany do pliku SetScrapeStatus Metoda.

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

Metody i właściwości GrabzItScrapeClient

Poniżej wymieniono wszystkie metody i właściwości klasy GrabzItScrapeClient, których można użyć do kontrolowania zgarniania stanu.

  • GrabzItScrape[] GetScrapes() - zwraca wszystkie zadrapania użytkowników jako tablicę obiektów GrabzItScrape.
  • GrabzItScrape GetScrape(id) - zwraca obiekt GrabzItScrape reprezentujący pożądane zadrapanie.
  • SetScrapeProperty(id, property) - ustawia właściwość zadrapania i zwraca true, jeśli się powiedzie.
  • SetScrapeStatus(id, status) - ustawia status („Start”, „Stop”, „Włącz”, „Wyłącz”) zeskrobania i zwraca true, jeśli się powiedzie.
  • SendResult(id, resultId) - ponownie wysyła wynik zadrapania i zwraca wartość true, jeśli się powiedzie.
    • Identyfikator scrape i identyfikator wyniku można znaleźć w metodzie GetScrape.
  • SetLocalProxy(proxyUrl) - ustawia użycie lokalnego serwera proxy dla wszystkich żądań.