问题描述
我一直在使用以下方法检查网站是否有效 -
from urllib.request import Request,urlopen
from urllib.error import URLError,HTTPError
req = Request("http://www.google.com/")
try:
response = urlopen(req)
except HTTPError as e:
print('The server Couldn\'t fulfill the request.')
print('Error code: ',e.code)
except URLError as e:
print('We Failed to reach a server.')
print('Reason: ',e.reason)
else:
print ('Website is working fine')
但是,我需要一次输入多个网站(为相同的网站创建列表)并获得如下输出-
www.google.com - Website is working fine
www.Facebook.com - Website is working fine
www.themoneytizer.net - We Failed to reach a server.Reason: [Errno 11001] getaddrinfo Failed.
请帮忙代码
解决方法
请尝试如下。希望你能有所了解。
from urllib.request import Request,urlopen
from urllib.error import URLError,HTTPError
list_of_website = ['http://www.google.com/','https://paste.ubuntu.com/','http://algotoolz.com/']
for website in list_of_website:
req = Request(website)
try:
response = urlopen(req)
except HTTPError as e:
print('The server couldn\'t fulfill the request.')
print('Error code: ',e.code)
except URLError as e:
print('We failed to reach a server.')
print('Reason: ',e.reason)
else:
print ('Website is working fine')
,
您可以使用列表来传递所有网站名称 比使用 for 循环进行如下迭代
from urllib.request import Request,HTTPError
websites = ["http://www.google.com/","http://www.facebook.com/"]
for web in websites:
req = Request(web)
try:
response = urlopen(req)
except HTTPError as e:
print('The server couldn\'t fulfill the request.')
print('Error code: ',e.code)
except URLError as e:
print('We failed to reach a server.')
print('Reason: ',e.reason)
else:
print ('Website is working fine')