这个脚本决定了在可能的网站数量中哪些网站有我想要的数据。z
通过data_grabber(item)
运行所有可能的网站,它返回所有有效URL的索引列表。它还包括无效网站的None
值。你知道吗
import requests
a = range(0, 10)
b = 'http://www.grandexchangecentral.com/include/gecgraphjson.php?jsid=%r'
websites = []
for i in a:
result = b % a[i]
websites.append(result)
def data_grabber(item):
url = item
r = requests.get(url, headers={'Referer': 'www.grandexchangecentral.com'})
data = r.json
if data != None:
return websites.index(item)
z = [data_grabber(x) for x in websites]
z1 = filter(None, z)
它返回[None, None, 2, None, None, None, 6, None, 8, None]
,它z1
缩短为[2, 6, 8]
。唯一的问题是,可能的网站列表可能会很长,因此在z
中生成许多None
占位符可能需要几分钟。有没有可能阻止z
生成None
项?提前谢谢你的帮助。你知道吗
编辑:现在我意识到它实际上占用了大部分时间。不过还是很高兴知道这个。你知道吗
我同意@DSM的观点,这似乎不太可能花费你太多时间。但这将避免:
使用括号而不是括号将生成
data_grabber
结果的生成器,然后filter
将使用这些结果,构建结果列表,而不必生成包含None
的中间列表。你知道吗只是测试一下你关于时间安排的说法:
不完全一样,但这会生成一个100000
None
的列表,然后在我的计算机上用9毫秒过滤掉它们。你知道吗相关问题 更多 >
编程相关推荐