Ak sa vám často stáva, že získavate údaje z webových stránok, pravdepodobne by ste mali zvážiť automatizáciu procesu. Tento proces sa niekedy označuje ako „zoškrabovanie webu“ a je bežný pre stránky, ktoré neposkytujú formálne rozhranie API alebo informačný kanál. Samozrejme, nikam sa nedostanete, ak je stránka, ktorú sa pokúšate získať, nedostupná.
Ak prevádzkujete vlastnú stránku, pravdepodobne ste sa už niekedy museli potýkať s výpadkami. Môže to byť frustrujúce, môže to spôsobiť stratu návštevníkov a prerušenie akejkoľvek činnosti, za ktorú môže byť vaša stránka zodpovedná. Za takýchto okolností sa oplatí mať možnosť jednoducho skontrolovať dostupnosť svojho webu.
Python je skvelý jazyk na skriptovanie a jeho stručná, no čitateľná syntax robí implementáciu nástroja na kontrolu stránok jednoduchou úlohou.
Vytvorte si personalizovanú kontrolu webových stránok
Kontrola webových stránok je prispôsobená tak, aby vyhovovala viacerým webovým stránkam naraz. To vám umožní jednoducho vypnúť stránky, ktoré vás už nezaujímajú, alebo začať kontrolovať stránky, ktoré spustíte v budúcnosti. Checker je ideálnou „kostrovou aplikáciou“, na ktorej by ste mohli ďalej stavať, ale demonštruje základný prístup k získavaniu webových údajov.
Importujte knižnice v Pythone
Ak chcete spustiť projekt, musíte importovať súbor žiadosti knižnica v Pythone s importovať funkciu.
importovať žiadosti
Knižnica požiadaviek je užitočná na komunikáciu s webovými stránkami. Môžete ho použiť na odosielanie požiadaviek HTTP a prijímanie údajov odpovedí.
Uložte adresy URL webových stránok do zoznamu
Po importovaní knižnice by ste mali definovať a uložiť adresy URL webových stránok do zoznamu. Tento krok vám umožňuje zachovať viacero adries URL, ktoré môžete skontrolovať pomocou nástroja na kontrolu webových stránok.
importovať žiadosti
website_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"
]
Premenná website_url ukladá zoznam adries URL. V zozname definujte každú adresu URL, ktorú chcete skontrolovať, ako samostatný reťazec. Vzorové adresy URL v kóde môžete použiť na testovanie alebo ich môžete nahradiť a začať ihneď kontrolovať svoje vlastné stránky.
Ďalej uložte správy pre bežné kódy odpovede HTTP. Môžete ich uchovávať v slovníku a indexovať každú správu podľa jej zodpovedajúceho stavového kódu. Váš program potom môže použiť tieto správy namiesto stavových kódov pre lepšiu čitateľnosť.
stavy = {
200: "Dostupná webová stránka",
301: "Trvalé presmerovanie",
302: "Dočasné presmerovanie",
404: "Nenájdené",
500: "Interná chyba servera",
503: "Služba nie je k dispozícií"
}
Vytvorenie slučky na kontrolu stavu webových stránok
Ak chcete postupne skontrolovať každú adresu URL, budete chcieť prechádzať zoznamom webových stránok. Vo vnútri slučky skontrolujte stav každej lokality odoslaním požiadavky cez knižnicu požiadaviek.
pre url v website_url:
skúste:
web_response = requests.get (url)
vytlačiť (url, stavy[web_response.status_code])
okrem:
vytlačiť (url, stavy[web_response.status_code])
Kde:
- pre url...iteruje cez zoznam adries URL.
- url je premenná, ku ktorej cyklus for priraďuje každú adresu URL.
- skúsiť/okremrieši všetky výnimky ktoré môžu vzniknúť.
- web_response je premenná, ktorá poskytuje vlastnosť so stavovým kódom odpovede
Úryvok celého kódu
Ak chcete skontrolovať celý kód naraz, tu je úplný zoznam kódov pre referenciu.
importovať žiadosti
website_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"
]stavy = {
200: "Dostupná webová stránka",
301: "Trvalé presmerovanie",
302: "Dočasné presmerovanie",
404: "Nenájdené",
500: "Interná chyba servera",
503: "Služba nie je k dispozícií"
}pre url v website_url:
skúste:
web_response = requests.get (url)
vytlačiť (url, stavy[web_response.status_code])
okrem:
vytlačiť (url, stavy[web_response.status_code])
A tu je príklad spustenia kódu:
Schopnosti kódovania Pythonu pri skracování webu
Knižnice tretích strán Pythonu sú ideálne pre úlohy, ako je zoškrabovanie webu a načítanie údajov cez HTTP.
Na webové stránky môžete odosielať automatizované požiadavky na vykonávanie rôznych typov úloh. Môže to zahŕňať čítanie titulkov správ, sťahovanie obrázkov a automatické odosielanie e-mailov.