【问题标题】:What is the fastest way to go through a file of URLs and sum up their size?浏览 URL 文件并总结其大小的最快方法是什么?
【发布时间】:2012-01-31 08:40:53
【问题描述】:

我有一个包含大约 200,000 个文档 URL 的文件。 我想总结一下这些网址的大小。 我用 HttpURLConnection 写了一些我 java 的东西,但是它需要很长时间才能运行,这当然是可以理解的 - 它为每个人打开一个 http 连接。

有没有更快的方法来做到这一点? 也许在其他语言中同样的事情会花费更少的时间(如果在 java 中处理单个 http 连接比在另一种语言中需要更长的时间,那么对于我的连接数量来说它是值得注意的)? 还是其他方法?

【问题讨论】:

    标签: java http url


    【解决方案1】:

    在这里更改语言不会有什么不同,这是因为打开 200,000 个 HTTP 连接,无论你怎么看,都需要很长时间!

    您可以使用thread pool 并同时执行任务,这可能会加快速度,但这样的事情永远不会在一两秒内运行。

    【讨论】:

      【解决方案2】:

      您还应该使用 HEAD HTTP 请求仅检索 Content-Length 而不是检索内容,以加快您的流程。此外,线程的使用可以加快进程,尤其是当您的线路没有被一个请求加载很多时,情况可能并非如此。您拥有的最后一个可能也是最有效的选择是在服务器附近物理执行进程,例如在同一个子网左右。

      【讨论】:

        【解决方案3】:

        似乎您以错误的方式解决问题。您的瓶颈不在于计算 URL 的大小,而在于有效地访问它们以确定每个文件的大小。幸运的是,有一些网络服务可以帮助您克服这个瓶颈,也许可以尝试像 80 legs 这样的服务来运行一个廉价的网络爬虫,然后对结果集进行分析......

        http://80legs.com/services.html

        另外,只是澄清一点 - 您希望了解 URL 描述的文件的大小......而不是实际的 URL 本身,对吗?

        【讨论】:

        • 是的,url中文件的大小。
        猜你喜欢
        • 2021-02-17
        • 1970-01-01
        • 1970-01-01
        • 2011-01-25
        • 2010-10-12
        • 2011-05-24
        • 1970-01-01
        • 2013-02-16
        • 1970-01-01
        相关资源
        最近更新 更多