我的项目要求我验证大量 Web URL。这些 URL 是由我无法控制的非常不可靠的过程捕获的。所有 URL 都已经过正则表达式验证,并且已知格式正确。我也知道他们都有有效的顶级域名
我希望能够快速过滤这些 URL,以确定其中哪些是不正确的。此时我不关心页面上有什么内容 - 我只想尽快知道哪些页面无法访问(例如产生 404 错误)。
鉴于其中有很多,我不想下载整个页面,只下载 HTTP header ,然后根据 header 的内容很好地猜测该页面是否可能存在。
可以吗?
最佳答案
要真正加快速度,您还可以使用 eventlet它使用非阻塞 IO 来加快速度。
你可以像这样使用 head 请求:
from eventlet import httpc
try:
res = httpc.head(url)
except httpc.NotFound:
# handle 404
然后您可以将其放入一些简单的脚本中,例如 that example script here .有了它,您应该通过使用协程池获得相当多的并发性。
关于python - 测试大量格式正确的 URL 有效性的最快方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/563384/