Erhalte mithilfe von Grequests für mehrere Tausend Abrufanfragen für SourceForge "Max. Wiederholungsversuche mit URL überschritten"

Ich bin sehr neu in all dem; Ich benötige Daten zu mehreren tausend Sourceforge-Projekten für ein Papier, das ich schreibe. Alle Daten sind im json-Format unter der URL http://sourceforge.net/api/project/name/[project name] / json frei verfügbar. Ich habe eine Liste mit mehreren tausend dieser URLs und verwende den folgenden Code.

import grequests
rs = (grequests.get(u) for u in ulist)
answers = grequests.map(rs)

Mit diesem Code kann ich die Daten für etwa 200 Projekte abrufen, die mir gefallen, d. H.rs = (grequests.get(u) for u in ulist[0:199]) funktioniert, aber sobald ich darüber nachdenke, werden alle Versuche getroffen

ConnectionError: HTTPConnectionPool(host='sourceforge.net', port=80): Max retries exceeded with url: /api/project/name/p2p-fs/json (Caused by <class 'socket.gaierror'>: [Errno 8] nodename nor servname provided, or not known)
<Greenlet at 0x109b790f0: <bound method AsyncRequest.send of <grequests.AsyncRequest object at 0x10999ef50>>(stream=False)> failed with ConnectionError

Ich kann dann keine weiteren Anfragen stellen, bis ich Python beende, aber sobald ich Python neu starte, kann ich weitere 200 Anfragen stellen.

Ich habe versucht mitgrequests.map(rs,size=200) aber das scheint nichts zu tun.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage