大家好。
此代码正在检查网站的可用性,但它正在加载整个页面,因此如果我有一个包含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(发出多个请求。