简单脚本 运行 非常慢

Simple script running very slow

我写了这个简单的脚本来检查一组比特币地址是否有交易。但是我认为它 运行 非常慢,因为它每秒处理 2 个或多或少。该文件有超过 60k 个地址,所以...这将需要很长时间!

可以吗?

import urllib2

f = open('bc', 'r')
output = open('output', 'w')

n = 1
for bc in f:
    url = "https://blockchain.info/address/" + bc
    aux = urllib2.urlopen(url).read()    
    print n
    if int(aux[aux.find("<td id=\"n_transactions\">") + 24]) > 0:
        text = str(n) + ' -- ' + bc
        output.write(text)
    n = n + 1

output.close()
f.close()

您正在为文件中的每个实例打开一个 URL...加载请求、执行查找然后写入文件需要时间。您正在加载一个网页 60,000 次...这需要一段时间。

不一定是脚本故障,还有您的连接、网站速度等。您处理数据的能力有很多变数。

我没有发现脚本有任何问题。每个页面加载操作都会对输出渲染时间产生影响。

也许您为什么不考虑使用某种库来执行此操作。

看看 Python 的 PANDAS - pandas.pydata.org 是否可以帮助您。 PANDAS 本身带来的最大好处就是可以非常高效地合并多个文件并对其进行集中操作。通过这种方式,您可以减少页面执行,从而进一步使脚本更快一些。