我是Python和多线程的新手,所以请耐心等待。
我正在编写一个脚本来通过Web of Trust处理列表中的域名,这是一种在“可信度”范围内对网站进行排名的服务,并将其写入CSV。遗憾的是,Web of Trust的服务器可能需要很长时间才能响应,处理100k域可能需要数小时。
到目前为止,我对多线程的尝试一直令人失望 - 尝试从this answer修改脚本会产生线程错误,我相信因为某些线程需要很长时间才能解决。
这是我未经修改的脚本。有人可以帮助我多线程,或者指向一个好的多线程资源吗?提前谢谢。
import urllib
import re
text = open("top100k", "r")
text = text.read()
text = re.split("\n+", text)
out = open('output.csv', 'w')
for element in text:
try:
content = urllib.urlopen("http://api.mywot.com/0.4/public_query2?target=" + element)
content = content.read()
content = content[content.index('<application name="0" r="'):content.index('" c')]
content = element + "," + content[25] + content[26] + "\n"
out.write(content)
except:
pass
答案 0 :(得分:1)
通过WoT API文档的快速扫描显示,除了您正在使用的public_query2请求之外,还有一个public_query_json请求,允许您批量获取最多100个数据。我建议您在开始之前使用它并行地向他们的服务器充斥许多请求。