gpt4 book ai didi

python - 检查网页状态最快的方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:37 25 4
gpt4 key购买 nike

我正在尝试使用 Python 检查网页的状态。我做过定时器来测试,但没有比另一个更好的了。最差和最好的仅相差 20%。我真的只需要响应代码,而不是 HTML 源代码。我将处理 3 个响应代码:200、403、404。

方法 1 是我的,但其他方法在这里找到:Checking if a website is up via Python

方法 1:现在,我正在使用 mechanize 打开带有 try and except 的 URL。如果它是 200,它会顺利通过,但如果它是 403/404,它会运行 except。这工作正常,但速度不是很快。平均速度为0.00276

方法二:使用urllib,我得到的时间和python差不多。平均速度为 0.00227。这是它的代码,它只是一行代码。

print urllib.urlopen("http://www.stackoverflow.com").getcode()

方法 3:我认为这个 httplib 方法是最快的,但它只检查域,不检查域的单个页面,所以它在我的情况下不起作用。代码是:

conn = httplib.HTTPConnection("www.python.org")
conn.request("HEAD", "/")
r1 = conn.getresponse()
print r1.status, r1.reason

方法四:该方法使用requests.head,平均速度为0.00246。代码是:

r = requests.head("http://www.stackoverflow.com")
print r

有谁知道在 python 中检查网页状态的更有效方法吗?

最佳答案

您提到的三个库很好地涵盖了所有直接选项。 Requests.py 可能是#4 候选人。

请注意,Mechanize 包装了 URLLib2,而 Requests 使用 URLLib3。

正如对问题的评论,这些都是成熟的库,因此您不太可能在其他库中或通过自己重新实现来发现性能改进。

不过,如果那是您的目标,那么这可能就是前进的方向。

关于python - 检查网页状态最快的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21032337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com