<p>嘿,你用错了以下部分的语法:</p>
<blockquote>
<pre><code>try:
r = requests.get(package_url)
package_json = r.json()
exception:
pass
</code></pre>
</blockquote>
<p>我只是在colab中运行了代码,它对我来说很好,只需将<code>exception</code>更改为<code>except</code></p>
<pre><code>import requests
import json
import time
r = requests.get("https://formulae.brew.sh/api/formula.json")
packages_json = r.json()
packages_string = json.dumps(packages_json, indent=2)
results = []
t1 = time.perf_counter()
for package in packages_json:
package_name = package["name"]
package_desc = package["desc"]
package_url = f'https://formulae.brew.sh/api/formula/{package_name}.json'
try:
r = requests.get(package_url)
package_json = r.json()
except:
pass
installs_30 = package_json['analytics']['install']['30d'][package_name]
installs_90 = package_json['analytics']['install']['90d'][package_name]
installs_365 = package_json['analytics']['install']['365d'][package_name]
data = {
"nome": package_name,
"descrizione": package_desc,
"analytics": {
"30d": installs_30,
"90d": installs_90,
"365d": installs_365
}
}
results.append(data)
time.sleep(r.elapsed.total_seconds())
if r.status_code != 200:
print (f"Got error for {package_name}")
else:
print(f'Got {package_name} in {r.elapsed.total_seconds()} seconds')
t2 = time.perf_counter()
print(f"Finito in {t2-t1} secondi")
with open("packages_info.json", "w") as f:
json.dump(results, f, indent=2)
</code></pre>
<p><strong>结果</strong></p>
<pre><code>Got a2ps in 0.028664 seconds
Got a52dec in 0.027885 seconds
Got aacgain in 0.028514 seconds
Got aalib in 0.026989 seconds
</code></pre>
<p>等等。。祝你好运</p>