我需要使用Node.js(和TypeScript仅用于使用类型,但对这个问题完全没有影响)创建一个API,其中用户插入任何GitHub Repo的链接,并且该API通过Web抓取所有文件及其扩展名返回,行数和总行数。
我的代码可以很好地获取顶级文件。我对文件夹感到困惑,因为它们中可能包含子文件夹,更多子文件夹和更多文件。当然,它没有下降多少级别的绝对数量,也没有多少文件可以存在。
到目前为止,我尝试做什么?
我将在下面发布我的代码,但是如果您愿意,请随时访问https://github.com/raphaelalvarenga/git-hub-web-scraping
此请求结构(可随意更改存储库,例如搜索facebook / react或其他任何文件):
重要!请注意,第16行中的getRowData()方法传递了第13行中获得的HTML参数。
这是getRowData模块。我被困在第37和38行,在这里我确实尝试使用递归传递HREF atribbute来发出新请求,并在自身内部再次调用getRowData()。
最后,这是错误:
仅作为奖励,它一开始就已授权请求花费很长时间,但后续请求不应花费太多执行。有什么想法吗?
现在谢谢。
编辑: 我忘了说不允许从GitHub获取数据的API。