Če pogosto pridobivate podatke s spletnih mest, bi verjetno morali razmisliti o avtomatizaciji postopka. Postopek, ki se včasih imenuje tudi »spletno strganje«, je običajen za spletna mesta, ki ne nudijo uradnega API-ja ali vira. Seveda ne boste prišli nikamor, če stran, ki jo poskušate prenesti, ni na voljo.
Če vodite svoje spletno mesto, ste se verjetno že kdaj soočili z izpadi. Lahko je frustrirajuće, saj izgubite obiskovalce in prekinete katero koli dejavnost, za katero je odgovorno vaše spletno mesto. V takih okoliščinah se splača enostavno preveriti razpoložljivost vašega spletnega mesta.
Python je odličen jezik za skriptiranje, njegova jedrnata, a berljiva sintaksa pa omogoča preprosto opravilo implementacije preverjalnika spletnega mesta.
Ustvarjanje prilagojenega preverjalnika spletnih mest
Preverjevalnik spletnih mest je prilagojen za uporabo več spletnih mest hkrati. To vam omogoča, da preprosto zamenjate spletna mesta, ki vas ne zanimajo več, ali začnete preverjati spletna mesta, ki jih boste odprli v prihodnosti. Checker je idealna »okostna aplikacija«, na kateri bi lahko nadgradili, vendar prikazuje osnovni pristop k pridobivanju spletnih podatkov.
Uvozi knjižnice v Python
Za začetek projekta morate uvoziti zahteve knjižnica v Pythonu z uvoz funkcijo.
uvoz zahteve
Knjižnica zahtev je uporabna za komunikacijo s spletnimi mesti. Uporabite ga lahko za pošiljanje zahtev HTTP in prejemanje odzivnih podatkov.
Shranite URL-je spletnih mest na seznam
Ko uvozite knjižnico, morate definirati in shraniti URL-je spletnih mest na seznam. Ta korak vam omogoča, da obdržite več URL-jev, ki jih lahko preverite s pregledovalnikom spletnega mesta.
uvoz zahteve
spletni_url = [
" https://www.google.co.v",
" https://www.yahoo.com",
" https://www.amazon.co.v",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]
Spremenljivka naslov spletne strani shrani seznam URL-jev. Znotraj seznama definirajte vsak URL, ki ga želite preveriti, kot posamezen niz. Primere URL-jev v kodi lahko uporabite za testiranje ali pa jih zamenjate, da začnete takoj preverjati svoja spletna mesta.
Nato shranite sporočila za skupno Odzivne kode HTTP. Lahko jih shranite v slovarju in indeksirate vsako sporočilo z ustrezno statusno kodo. Vaš program lahko nato ta sporočila uporabi namesto statusnih kod za boljšo berljivost.
stanja = {
200: "Spletna stran je na voljo",
301: "Trajna preusmeritev",
302: "Začasna preusmeritev",
404: "Ni najdeno",
500: "Napaka notranjega strežnika",
503: "Storitev ni na voljo"
}
Ustvarjanje zanke za preverjanje stanja spletne strani
Če želite preveriti vsak URL po vrsti, boste želeli brskajte po seznamu spletnih mest. Znotraj zanke preverite stanje vsakega mesta tako, da pošljete zahtevo prek knjižnice zahtev.
za url v naslov spletne strani:
poskusi:
web_response = requests.get (url)
natisni (url, statusi[web_response.status_code])
razen:
natisni (url, statusi[web_response.status_code])
Kje:
- za url...ponavlja po seznamu URL-jev.
- url je spremenljivka, ki ji zanka for dodeli vsak URL.
- poskusi/razenobravnava vse izjeme ki se lahko pojavijo.
- spletni_odziv je spremenljivka, ki zagotavlja lastnost s statusno kodo odgovora
Celoten delček kode
Če želite celotno kodo pregledati naenkrat, je tukaj celoten seznam kod za referenco.
uvoz zahteve
spletni_url = [
" https://www.google.co.v",
" https://www.yahoo.com",
" https://www.amazon.co.v",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]stanja = {
200: "Spletna stran je na voljo",
301: "Trajna preusmeritev",
302: "Začasna preusmeritev",
404: "Ni najdeno",
500: "Napaka notranjega strežnika",
503: "Storitev ni na voljo"
}za url v naslov spletne strani:
poskusi:
web_response = requests.get (url)
natisni (url, statusi[web_response.status_code])
razen:
natisni (url, statusi[web_response.status_code])
In tukaj je primer izvajanja kode:
Pythonove zmožnosti kodiranja pri spletnem strganju
Pythonove knjižnice tretjih oseb so idealne za naloge, kot je spletno strganje in pridobivanje podatkov prek HTTP.
Spletnim mestom lahko pošiljate samodejne zahteve za izvajanje različnih vrst nalog. To lahko vključuje branje naslovov novic, nalaganje slik in samodejno pošiljanje e-pošte.