Krajta

Jak používat Urllib v Pythonu

Jak používat Urllib v Pythonu

Python obsahuje modul s názvem urllib pro zpracování úkolů souvisejících s jednotným vyhledávačem zdrojů (URL). Tento modul je ve výchozím nastavení nainstalován v Pythonu 3 a načítá adresy URL různých protokolů prostřednictvím urlopen () funkce. Urllib lze použít k mnoha účelům, jako je čtení obsahu webových stránek, vytváření požadavků HTTP a HTTPS, odesílání záhlaví požadavků a načítání záhlaví odpovědí. The urllib modul obsahuje mnoho dalších modulů pro práci s URL, např urllib.žádost, urllib.analyzovat, a urllib.chyba, mezi ostatními. Tento kurz vám ukáže, jak používat modul Urllib v Pythonu.

Příklad 1: Otevírání a čtení adres URL pomocí urllib.žádost

The urllib.žádost modul obsahuje třídy a metody potřebné k otevření a čtení jakékoli adresy URL. Následující skript ukazuje, jak používat urllib.žádost modul k otevření adresy URL a ke čtení obsahu adresy URL. Tady urlopen () metoda se používá k otevření adresy URL, “https: // www.linuxhint.com /.„Je-li adresa URL platná, bude její obsah uložen do pojmenované proměnné objektu Odezva. The číst() metoda Odezva objekt se poté použije ke čtení obsahu adresy URL.

#!/ usr / bin / env python3
# Import požadavku modulu urllib
importovat urllib.žádost
# Otevřete konkrétní adresu URL pro čtení pomocí urlopen ()
response = urllib.žádost.urlopen ('https: // www.linuxhint.com / ')
# Vytiskněte data odpovědí adresy URL
print ("Výstup adresy URL je: \ n \ n", odpověď.číst())

Výstup

Po spuštění skriptu se zobrazí následující výstup.

Příklad 2: Analýza a rozebrání adres URL pomocí urllib.analyzovat

The urllib.analyzovat modul se primárně používá k rozdělení nebo spojení různých komponent adresy URL. Následující skript ukazuje různá použití urllib.analyzovat modul. Čtyři funkce urllib.analyzovat použitý v následujícím skriptu zahrnout urlparse, urlunparse, urlsplit, a urlunsplit. The urlparse modul funguje jako urlsplit, a urlunparse modul funguje jako urlunsplit. Mezi těmito funkcemi je pouze jeden rozdíl; to je, urlparse a urlunparse obsahovat další parametr s názvem 'parametry„pro rozdělení a funkci spojování. Zde je adresa URL https: // linuxhint.com / play_sound_python / 'se používá k rozdělení a připojení URL.

#!/ usr / bin / env python3
 
# Importovat parsovací modul urllib
importovat urllib.analyzovat
 
# Analýza adresy URL pomocí urlparse ()
urlParse = urllib.analyzovat.urlparse ('https: // linuxhint.com / play_sound_python / ')
print ("\ nVýstup adresy URL po analýze: \ n", urlParse)
 
# Spojení URL pomocí urlunparse ()
urlUnparse = urllib.analyzovat.urlunparse (urlParse)
print ("\ nVstupní výstup analýzy adresy URL: \ n", urlUnparse)
 
# Analýza adresy URL pomocí urlsplit ()
urlSplit = urllib.analyzovat.urlsplit ('https: // linuxhint.com / play_sound_python / ')
print ("\ nVýstup adresy URL po rozdělení: \ n", urlSplit)
 
# Spojení URL pomocí urlunsplit ()
urlUnsplit = urllib.analyzovat.urlunsplit (urlSplit)
print ("\ nVýstup pro rozdělení adresy URL: \ n", urlUnsplit)

Výstup

Po spuštění skriptu se zobrazí následující čtyři výstupy.

Příklad 3: Čtení hlavičky odpovědi HTML s urllib.žádost

Následující skript ukazuje, jak lze načíst různé části záhlaví odpovědi adresy URL informace () metoda. The urllib.žádost modul používaný k otevření adresy URL, 'https: // linuxhint.com / python_pause_user_input /,"a informace o záhlaví této adresy URL jsou vytištěny prostřednictvím informace () metoda. Další část tohoto skriptu vám ukáže, jak číst každou část záhlaví zvlášť. Tady Server, datum, a Typ obsahu hodnoty jsou vytištěny samostatně.

#!/ usr / bin / env python3
# Import požadavku modulu urllib
importovat urllib.žádost
# Otevřete URL pro čtení
urlResponse = urllib.žádost.urlopen ('https: // linuxhint.com / python_pause_user_input / ')
# Čtení výstupu záhlaví odpovědi URL
tisk (urlResponse.informace ())
# Čtení informací v záhlaví samostatně
print ('Response server =', urlResponse.info () ["Server"])
print ('Datum odpovědi je =', urlResponse.info () ["datum"])
print ('Typ obsahu odpovědi je =', urlResponse.info () ["Content-Type"])

Výstup

Po spuštění skriptu se zobrazí následující výstup.

Příklad 4: Čtení odpovědí URL řádek po řádku

V následujícím skriptu je použita místní adresa URL. Zde je testovací soubor HTML s názvem test.html je vytvořen v místě, var /www / html. Obsah tohoto souboru se čte řádek po řádku přes  pro smyčka. The pás() metoda se poté použije k odstranění mezery z obou stran každého řádku. K otestování skriptu můžete použít jakýkoli soubor HTML z místního serveru. Obsah test.html soubor použitý v tomto příkladu je uveden níže.

test.html:



Testovací stránka


#!/ usr / bin / env python3
 
# Importovat urllib.modul požadavku
importovat urllib.žádost
 
# Otevřete místní adresu URL ke čtení
response = urllib.žádost.urlopen ('http: // localhost / test.html ')
 
# Přečtěte si URL z odpovědi
print ('URL:', response.geturl ())
 
# Přečtěte si text odpovědi po řádcích
print ("\ nČtení obsahu:")
pro linku v odezvě:
tisk (řádek.pás())

Výstup

Po spuštění skriptu se zobrazí následující výstup.

Příklad 5: Zpracování výjimek s urllib.chyba.URLError

Následující skript ukazuje, jak používat URLError v Pythonu přes urllib.chyba modul. Jakoukoli adresu URL lze brát jako vstup od uživatele. Pokud adresa neexistuje, pak an URLError bude vyvolána výjimka a bude vytištěn důvod chyby. Pokud je hodnota adresy URL v neplatném formátu, pak a ValueError bude vyvolána a vytiskne se vlastní chyba.

#!/ usr / bin / env python3
 
# Importujte potřebné moduly
importovat urllib.žádost
importovat urllib.chyba
 
# zkuste blokovat a otevřete libovolnou adresu URL ke čtení
Snaž se:
url = input ("Zadejte libovolnou adresu URL:")
response = urllib.žádost.urlopen (url)
tisk (odpověď.číst())
 
# Chyťte chybu URL, která se vygeneruje při otevření jakékoli adresy URL
kromě urllib.chyba.URLError jako e:
print ("Chyba URL:", např.důvod)
# Chytit chybu neplatné adresy URL
kromě ValueError:
tisk („Zadejte platnou adresu URL“)

Výstup

Skript se na následujícím snímku obrazovky provede třikrát. V první iteraci je adresa URL uvedena v neplatném formátu a generuje ValueError. Adresa URL uvedená ve druhé iteraci neexistuje, což generuje chybu URLError. Ve třetí iteraci je uvedena platná adresa URL, takže se vytiskne obsah adresy URL.

Příklad 6: Zpracování výjimek s urllib.chyba.Chyba HTTP

Následující skript ukazuje, jak používat Chyba HTTP v Pythonu přes urllib.chyba modul. An HTMLError generuje se, když daná URL adresa neexistuje.

#!/ usr / bin / env python3
# Importujte potřebné moduly
importovat urllib.žádost
importovat urllib.chyba
 
# Zadejte libovolnou platnou adresu URL
url = input ("Zadejte libovolnou adresu URL:")
# Odeslat požadavek na URL
požadavek = urllib.žádost.Žádost (URL)
 
Snaž se:
# Zkuste otevřít adresu URL
urllib.žádost.urlopen (žádost)
tisk ("URL existuje")
kromě urllib.chyba.Chyba HTTP jako e:
# Vytiskněte chybový kód a důvod chyby
print ("Kód chyby:% d \ nChyba chyby:% s"% (např.kód, např.důvod))

Výstup

Zde se skript provede dvakrát. První URL adresa přijatá jako vstup existuje a modul vytiskl zprávu. Druhá adresa URL braná jako vstup neexistuje a modul vygeneroval Chyba HTTP.

Závěr

Tento tutoriál pojednával o mnoha důležitých využitích urllib modul pomocí různých příkladů, které čtenářům pomohou poznat funkce tohoto modulu v Pythonu.

Přemapujte tlačítka myši odlišně pro jiný software pomocí ovládání myší X-Mouse
Možná potřebujete nástroj, který by mohl změnit ovládání myši u každé aplikace, kterou používáte. V takovém případě můžete vyzkoušet aplikaci s názvem...
Recenze bezdrátové myši Microsoft Sculpt Touch
Nedávno jsem četl o Microsoft Sculpt Touch bezdrátová myš a rozhodl se ji koupit. Po chvíli používání jsem se rozhodl se s ním podělit o své zkušenost...
Trackpad a ukazatel myši AppyMouse na obrazovce pro tablety Windows
Uživatelé tabletů často postrádají ukazatel myši, zejména když obvykle používají notebooky. Dotykové smartphony a tablety mají mnoho výhod a jediným o...