有没有更快的方法来检查众多网站的可用性



大家好。

此代码正在检查网站的可用性,但它正在加载整个页面,因此如果我有一个包含100 个网站的列表,它会很慢。

我的问题是:有没有办法做得更快?

import requests
user_agent = {'accept': '*/*', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
session = requests.Session()
response = session.get("http://google.com", headers=user_agent, timeout=5)
if response.status_code == 200:
print("Checked & avaliable")
else:
print("Not avaliable")

谢谢!

每一个帮助将不胜感激

你可以使用它:

import urllib.request
print(urllib.request.urlopen("http://www.google.com").getcode())
#output
>>> 200

此代码正在检查网站的可用性,但它正在加载整个页面

要不加载整个页面,您可以发出HEAD请求,而不是GET,因此您只需检查状态。请参阅使用 Python 请求获取 HEAD 内容

使其更快的另一种方法是使用多个线程或异步(https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html(发出多个请求。