有一个JSON API for PyPI允许获取包的数据:
http://pypi.python.org/pypi/<package_name>/json
http://pypi.python.org/pypi/<package_name>/<version>/json
但是,是否可以通过GET调用获得所有PyPI包(或者,例如,最近的包)的列表?
有一个JSON API for PyPI允许获取包的数据:
http://pypi.python.org/pypi/<package_name>/json
http://pypi.python.org/pypi/<package_name>/<version>/json
但是,是否可以通过GET调用获得所有PyPI包(或者,例如,最近的包)的列表?
7条答案
按热度按时间fcg9iug31#
最简单的方法是使用simple index at PyPI,它列出了所有的包而没有开销。然后,您可以通过对问题中提到的URL执行GET请求来单独请求每个包的JSON。
cgfeq70w2#
我知道你想通过JSON API来实现这一点,但是你可以使用XML-RPC api来轻松地获取这一信息,而不必解析HTML。
np8igboo3#
我试过this answer,但在
Python 3.6
上不起作用我发现一个解决方案与HTML解析使用lxml包,但你必须安装它通过pip命令作为
然后,尝试下面的代码片段
aurhwmvo4#
注意:为了使这样的任务变得简单,我实现了自己的Python模块。可以使用
pip
安装:该模块使用起来非常简单。示例化一个表示API接口的对象后,您可以使用它:
此模块还提供了下载有关
pypi.org
提供的特定软件包的信息的功能:这个功能可能也有帮助。
06odsfpq5#
从PEP 691开始,如果您请求JSON响应,您现在可以通过Simple API获取它。
omjgkv6w6#
现在这完全可以在
requests
中实现。所请求的内容类型(JSON的mime类型)只需要进入头部字典。`requests'甚至可以将json解码为另一个dict:mzsu5hc07#
下面是Bash的一行代码: