Semalt Review - Kjøre et skrapeskript

Airflow er en planleggerbibliotek for Python som brukes til å konfigurere arbeidsflyter med flere systemer utført parallelt på tvers av et antall brukere. En enkelt luftstrømsledning består av SQL-, bash- og Python-operasjoner. Verktøyet fungerer ved å spesifisere avhengigheter mellom oppgaver, et kritisk element som hjelper til med å bestemme oppgavene som skal kjøres parallelt og hvilke som skal utføres etter at de andre funksjonene er fullført.

Hvorfor luftstrøm?

Luftstrømverktøyet er skrevet i Python, og gir deg fordelen til å legge operatørene til den allerede angitte tilpassede funksjonaliteten. Dette verktøyet lar deg skrape data gjennom transformasjoner fra et nettsted til et godt strukturert datablad. Airflow bruker Directed Acyclic Graphs (DAG) for å representere en spesifikk arbeidsflyt. I dette tilfellet refererer en arbeidsflyt til en samling av oppgaver som består av retningsavhengigheter.

Slik fungerer Apache Airflow

Airflow er et lagerstyringssystem som arbeider for å definere oppgaver som deres ytterste avhengighet, da koden utfører funksjonene i en plan og distribuerer oppgaveutførelsen på tvers av alle arbeiderprosessene. Dette verktøyet tilbyr et brukergrensesnitt som viser status for både løpende og tidligere oppgaver.

Luftstrøm viser diagnostisk informasjon til brukere angående utførelsesprosessen og lar sluttbrukeren administrere utførelsen av oppgaver manuelt. Legg merke til at en rettet acyklisk graf bare brukes til å angi utførelseskontekst og til å organisere oppgaver. I Airflow er oppgaver de avgjørende elementene som kjører et skrapeskript. I skraping består oppgaver av to smaker som inkluderer:

  • Operatør

I noen tilfeller fungerer oppgavene som operatører der de utfører operasjoner som spesifisert av sluttbrukerne. Operatører er designet for å kjøre skrapeskript og andre funksjoner som kan utføres på programmeringsspråket Python.

  • Sensor

Oppgaver blir også utviklet for å fungere som sensorer. I et slikt tilfelle kan utførelse av oppgaver som er avhengige av hverandre stoppes til et kriterium der en arbeidsflyt kjøres jevnt, er oppfylt.

Luftstrøm brukes i forskjellige felt for å kjøre et skrapeskript. Nedenfor er en guide for hvordan du bruker luftstrøm.

  • Åpne nettleseren din og sjekk brukergrensesnittet
  • Sjekk arbeidsflyten som mislyktes, og klikk på den for å se oppgavene som gikk galt
  • Klikk på "Vis logg" for å sjekke årsaken til feil. I mange tilfeller forårsaker passordgodkjenningsfeil arbeidsflytfeilen
  • Gå til admin-delen og klikk på "Tilkoblinger". Rediger Postgres-tilkoblingen for å hente det nye passordet, og klikk "Lagre".
  • Besøk nettleseren din på nytt og klikk på oppgaven som hadde mislyktes. Klikk på oppgaven og trykk på "Slett" slik at oppgaven blir vellykket neste gang.

Andre Python-planleggere å vurdere

Cron

Cron er et Unix-basert operativsystem som brukes til å kjøre skrapeskript med jevne mellomrom med faste intervaller, datoer og klokkeslett. Dette biblioteket brukes mest til å opprettholde og konfigurere programvaremiljøer.

Luigi

Luigi er en Python-modul som lar deg håndtere visualisering og avhengighetsoppløsning. Luigi brukes til å lage komplekse rørledninger for innsamling av jobber.

Airflow er et planleggerbibliotek for Python som brukes til å håndtere avhengighetsstyringsprosjekter. I luftstrøm avhenger løpeoppgaver av hverandre. For å oppnå konsistente resultater, kan du stille inn Airflow-skriptet til å kjøre automatisk etter hver time eller to.