Ha gyakran találja magát azon, hogy adatokat kér webhelyekről, érdemes megfontolni a folyamat automatizálását. Néha „webkaparásnak” is nevezik, ez a folyamat gyakori olyan webhelyeken, amelyek nem biztosítanak hivatalos API-t vagy hírcsatornát. Természetesen nem jut el sehova, ha a letölteni kívánt webhely nem érhető el.

Ha saját webhelyet üzemeltet, valószínűleg korábban is kellett leállásokkal küzdenie. Ez frusztráló lehet, látogatók elvesztését okozhatja, és megszakíthat minden olyan tevékenységet, amelyért webhelye felelős. Ilyen körülmények között érdemes könnyen ellenőrizni webhelye elérhetőségét.

A Python remek nyelv a szkriptek készítéséhez, és tömör, de jól olvasható szintaxisa egyszerű feladattá teszi a webhely-ellenőrző megvalósítását.

Személyre szabott webhely-ellenőrző létrehozása

A webhely-ellenőrzőt úgy alakították ki, hogy egyszerre több webhelyet is lehessen kezelni. Ez lehetővé teszi, hogy egyszerűen kicserélje azokat a webhelyeket, amelyek már nem érdekelnek, vagy elkezdheti ellenőrizni a jövőben elindított webhelyeket. Az ellenőrző egy ideális „csontváz-alkalmazás”, amelyre tovább építhet, de bemutatja a webes adatok lekérésének alapvető megközelítését.

instagram viewer

Könyvtárak importálása Pythonban

A projekt elindításához importálnia kell a kéréseket könyvtár Pythonban a import funkció.

import kéréseket

A Requests könyvtár hasznos a webhelyekkel való kommunikációhoz. Használhatja HTTP kérések küldésére és válaszadatok fogadására.

Tárolja a webhely URL-címeit egy listában

Miután importálta a könyvtárat, meg kell határoznia és tárolnia kell a webhely URL-címeit egy listában. Ez a lépés lehetővé teszi több URL megőrzését, amelyeket a webhely-ellenőrzővel ellenőrizhet.

import kéréseket

website_url = [
" https://www.google.co.ban ben",
" https://www.yahoo.com",
" https://www.amazon.co.ban ben",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]

A változó Weboldal URL tárolja az URL-ek listáját. A listán belül adjon meg minden egyes ellenőrizni kívánt URL-t egyedi karakterláncként. Használhatja a kódban található példa URL-eket teszteléshez, vagy lecserélheti őket, hogy azonnal elkezdhesse ellenőrizni saját webhelyeit.

Ezután tárolja az üzeneteket a közös használathoz HTTP válaszkódok. Ezeket egy szótárban tárolhatja, és minden üzenetet a megfelelő állapotkóddal indexelhet. A program ezután ezeket az üzeneteket használhatja állapotkódok helyett a jobb olvashatóság érdekében.

állapotok = {
200: "Webhely elérhető",
301: "Állandó átirányítás",
302: "Ideiglenes átirányítás",
404: "Nem található",
500: "Belső Szerverhiba",
503: "A szolgáltatás nem elérhető"
}

Hurok létrehozása a webhely állapotának ellenőrzéséhez

Ha sorra szeretné ellenőrizni az egyes URL-eket, érdemes lapozzon a listán webhelyek közül. A cikluson belül ellenőrizze az egyes webhelyek állapotát úgy, hogy kérést küld a kérések könyvtárán keresztül.

számára url ban ben Weboldal URL:
próbálja meg:
web_response = requests.get (url)
nyomtatás (url, állapotok[web_response.status_code])

kivéve:
nyomtatás (url, állapotok[web_response.status_code])

Ahol:

  • url-hez...ismétlődik az URL-ek listáján.
  • url az a változó, amelyhez a for ciklus minden URL-t hozzárendel.
  • próbáld/kivévekezel minden kivételt hogy felmerülhet.
  • web_response egy olyan változó, amely egy tulajdonságot biztosít a válasz állapotkódjával

A teljes kódrészlet

Ha inkább egy lépésben szeretné átnézni a teljes kódot, akkor íme egy teljes kódlista referenciaként.

import kéréseket

website_url = [
" https://www.google.co.ban ben",
" https://www.yahoo.com",
" https://www.amazon.co.ban ben",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]

állapotok = {
200: "Webhely elérhető",
301: "Állandó átirányítás",
302: "Ideiglenes átirányítás",
404: "Nem található",
500: "Belső Szerverhiba",
503: "A szolgáltatás nem elérhető"
}

számára url ban ben Weboldal URL:
próbálja meg:
web_response = requests.get (url)
nyomtatás (url, állapotok[web_response.status_code])

kivéve:
nyomtatás (url, állapotok[web_response.status_code])

És itt van egy példa a kód futtatására:

A Python kódolási képességei a webkaparásban

A Python harmadik féltől származó könyvtárai ideálisak olyan feladatokhoz, mint a webkaparás és az adatok HTTP-n keresztüli lekérése.

Automatikus kéréseket küldhet a webhelyeknek különféle típusú feladatok végrehajtásához. Ezek közé tartozhat a hírek olvasása, a képek letöltése és az e-mailek automatikus küldése.