大家好。
此代码用于检查网站是否可用,但是它正在加载整个页面,因此,如果我有 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")
谢谢!
每一个帮助都会得到赞赏
答案 0 :(得分:1)
您可以使用它:
import urllib.request
print(urllib.request.urlopen("http://www.google.com").getcode())
#output
>>> 200
答案 1 :(得分:1)
此代码用于检查网站是否可用,但它会加载整个页面
要不加载整个页面,可以发出HEAD
而不是GET
的请求,因此只检查状态。参见Getting HEAD content with Python Requests
另一种更快的方法是使用多个线程或异步(https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html)发出多个请求。