python - 测试大量格式正确的 URL 有效性的最快方法是什么

标签 python http

我的项目要求我验证大量 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/

相关文章:

java - http OAuth 请求

python - 使用 post 请求和 xsrf token 登录,但收到 419

python - 元组索引超出 LSTM 神经网络的范围。 Python、Keras 和 Tensorflow

javascript - `jqXHR.status` 的可能值是多少?

Django HTTPS 和 HTTP session

http - 确定 Web 应用程序中的同步与异步

c# - 使用 C# (HTTP POST) 删除 (MediaWiki) 页面

python - 谷歌应用引擎/WSGIApplication : How to check debug?

python - 如何使用OpenCV在视频上绘制尾线

python - 从 Pandas 中的 read_csv 获取对象大小