Jei dažnai gaunate duomenis iš svetainių, tikriausiai turėtumėte apsvarstyti galimybę automatizuoti šį procesą. Kartais vadinamas „žiniatinklio nuskaitymu“, šis procesas yra įprastas svetainėse, kurios nepateikia oficialios API ar sklaidos kanalo. Žinoma, niekur nepasieksite, jei svetainė, kurią bandote gauti, nepasiekiama.
Jei turite savo svetainę, tikriausiai anksčiau turėjote susidurti su prastovomis. Tai gali būti nemalonu, dėl to galite prarasti lankytojus ir nutraukti bet kokią veiklą, už kurią gali būti atsakinga jūsų svetainė. Tokiomis aplinkybėmis verta turėti galimybę lengvai patikrinti savo svetainės prieinamumą.
„Python“ yra puiki kalba rašyti scenarijus, o dėl glaustos, bet įskaitomos sintaksės svetainės tikrintuvo įdiegimas yra paprasta užduotis.
Suasmenintos svetainės tikrintuvo kūrimas
Svetainių tikrintuvas yra pritaikytas kelioms svetainėms vienu metu. Tai leidžia lengvai išjungti svetaines, kurios jums neberūpi, arba pradėti tikrinti svetaines, kurias paleidžiate ateityje. Tikrinimo priemonė yra ideali „skeleto programa“, kurią galėtumėte kurti toliau, tačiau ji demonstruoja pagrindinį požiūrį į žiniatinklio duomenų gavimą.
Importuokite bibliotekas į Python
Norėdami pradėti projektą, turite importuoti prašymus biblioteka Python su importuoti funkcija.
importuoti prašymus
Užklausų biblioteka naudinga bendraujant su svetainėmis. Jį galite naudoti HTTP užklausoms siųsti ir atsakymų duomenims gauti.
Išsaugokite svetainės URL sąraše
Kai importuosite biblioteką, turėtumėte apibrėžti ir išsaugoti svetainių URL adresus sąraše. Šis veiksmas leidžia išsaugoti kelis URL, kuriuos galite patikrinti naudodami svetainės tikrintuvą.
importuoti prašymus
website_url = [
" https://www.google.co.in",
" https://www.yahoo.com",
" https://www.amazon.co.in",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]
Kintamasis svetainės_url išsaugo URL sąrašą. Sąraše apibrėžkite kiekvieną URL, kurį norite patikrinti kaip atskirą eilutę. Galite naudoti kode esančius URL pavyzdžius testavimui arba galite juos pakeisti, kad iš karto pradėtumėte tikrinti savo svetaines.
Tada išsaugokite pranešimus bendrai HTTP atsakymo kodai. Galite laikyti juos žodyne ir indeksuoti kiekvieną pranešimą pagal atitinkamą būsenos kodą. Tada jūsų programa gali naudoti šiuos pranešimus vietoj būsenos kodų, kad būtų geriau skaitoma.
būsenos = {
200: "Pasiekiama svetainė",
301: „Nuolatinis peradresavimas“,
302: "Laikinas peradresavimas",
404: "Nerastas",
500: "Vidinė serverio klaida",
503: „Paslauga nepasiekiama“
}
Ciklo kūrimas svetainės būsenai patikrinti
Jei norite patikrinti kiekvieną URL paeiliui, norėsite peržiūrėti sąrašą svetainių. Ciklo viduje patikrinkite kiekvienos svetainės būseną išsiųsdami užklausą per užklausų biblioteką.
dėl url in website_url:
bandyti:
web_response = requests.get (url)
spausdinti (url, statuses[web_response.status_code])
išskyrus:
spausdinti (url, statuses[web_response.status_code])
Kur:
- už url...kartojasi per URL sąrašą.
- url yra kintamasis, kuriam ciklas for priskiria kiekvieną URL.
- pabandyti/išskyrustvarko visas išimtis kad gali kilti.
- web_response yra kintamasis, suteikiantis ypatybę su atsakymo būsenos kodu
Visas kodo fragmentas
Jei norite peržiūrėti visą kodą vienu kartu, čia pateikiamas visas kodų sąrašas.
importuoti prašymus
website_url = [
" https://www.google.co.in",
" https://www.yahoo.com",
" https://www.amazon.co.in",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]būsenos = {
200: "Pasiekiama svetainė",
301: „Nuolatinis peradresavimas“,
302: "Laikinas peradresavimas",
404: "Nerastas",
500: "Vidinė serverio klaida",
503: „Paslauga nepasiekiama“
}dėl url in website_url:
bandyti:
web_response = requests.get (url)
spausdinti (url, statuses[web_response.status_code])
išskyrus:
spausdinti (url, statuses[web_response.status_code])
Ir čia yra kodo vykdymo pavyzdys:
Python kodavimo galimybės žiniatinklyje
„Python“ trečiųjų šalių bibliotekos puikiai tinka tokioms užduotims kaip žiniatinklio rinkimas ir duomenų gavimas per HTTP.
Galite siųsti automatines užklausas svetainėms atlikti įvairių tipų užduotis. Tai gali būti naujienų antraščių skaitymas, vaizdų atsisiuntimas ir automatinis el. laiškų siuntimas.