我想将完整的项目从cdnjs云下载到本地文件夹。 我试过这个:
import requests
files = requests.get("https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML%2CSafe.js&ver=4.1")
with open("mathjax.js","w") as file:
file.write(files.text)
现在下载js文件。当我尝试使用相同的代码来获取项目而不是js文件时,输出很奇怪
所以我试着使用cdnjs,检查使用cdnjs云和使用本地文件时会发生什么
如图所示,我得到了这种差异:
如何获得与使用cdnjs时类似的结构?
请告诉我
除了迭代定义的文件列表之外,您还可以查看一些其他选项,这些选项可以采用更动态的方法从CDN获取文件
cdnjs由GitHub存储库提供支持,因此您可以探索克隆它并提取文件(如果您这样做是因为repo的大小,我建议使用稀疏签出),或者您可以考虑使用GitHub API导航存储库并提取文件:GitHub.com/cdnjs/cdnjs/tree/master/ajax/libs/mathjax/2.7.5
实际上,我们有一个可用于cdnjs的API,它允许您相当容易地获取库版本中的所有文件。使用该列表,您可以执行类似于Hamza建议的迭代解决方案,以在本地获取所有文件的副本:https://api.cdnjs.com/libraries/mathjax?fields=assets(令人烦恼的是,我们还没有实现每个版本的API导航)
希望有帮助! 马特,cdnjs维修人员
您提供给requests模块的URL只是一个文件
MathJax.js
的URL,这就是为什么您只获取该文件作为输出的原因。 您想要的是下载完整的目录mathjax/2.7.5/
。但是,如果我们请求整个目录,服务器将禁止此类请求另一种方法是从主目录中获取所有文件的相对路径,如图中所示。然后,您可以独立下载每个文件并将其存储到各自的文件夹中。最后你会准备好整个目录
为此,请尝试以下代码
本地目录结构输出:
相关问题 更多 >
编程相关推荐