如何遍历多层文件夹和子文件夹

时间:2020-06-13 23:43:31

标签: javascript node.js recursion web-scraping async-await

我需要使用Node.js(和TypeScript仅用于使用类型,但对这个问题完全没有影响)创建一个API,其中用户插入任何GitHub Repo的链接,并且该API通过Web抓取所有文件及其扩展名返回,行数和总行数。

我的代码可以很好地获取顶级文件。我对文件夹感到困惑,因为它们中可能包含子文件夹,更多子文件夹和更多文件。当然,它没有下降多少级别的绝对数量,也没有多少文件可以存在。

到目前为止,我尝试做什么?

  1. 递归。问题是对我来说这是一个更高的水平,我无法处理这样的任务。
  2. 我准备了能够使函数反复调用自身的代码,但是它返回错误。

我将在下面发布我的代码,但是如果您愿意,请随时访问https://github.com/raphaelalvarenga/git-hub-web-scraping

此请求结构(可随意更改存储库,例如搜索facebook / react或其他任何文件):

enter image description here

这是控制器: enter image description here

重要!请注意,第16行中的getRowData()方法传递了第13行中获得的HTML参数。

这是getRowData模块。我被困在第37和38行,在这里我确实尝试使用递归传递HREF atribbute来发出新请求,并在自身内部再次调用getRowData()。

enter image description here

最后,这是错误:

enter image description here

仅作为奖励,它一开始就已授权请求花费很长时间,但后续请求不应花费太多执行。有什么想法吗?

现在谢谢。

编辑: 我忘了说不允许从GitHub获取数据的API。

0 个答案:

没有答案