24

私はこれらすべてに非常に慣れていません。執筆中の論文のために、数千の sourceforge プロジェクトに関するデータを取得する必要があります。データはすべて、URL http://sourceforge.net/api/project/name/[プロジェクト名]/json で json 形式で自由に利用できます。これらの URL の数千のリストがあり、次のコードを使用しています。

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

このコードを使用して、私が好きな 200 ほどのプロジェクトのデータを取得できますrs = (grequests.get(u) for u in ulist[0:199])

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

その後、Python を終了するまでそれ以上のリクエストを行うことはできませんが、Python を再起動するとすぐに、さらに 200 のリクエストを行うことができます。

使用してみましgrequests.map(rs,size=200)たが、これは何もしないようです。

4

2 に答える 2