需求

前段时间发现了 superagent 这个库,发现比我之前使用的 request 这个库方便多了,准备把我的毕设的爬虫端用这个重写来着,
但是看完文档一直没动手,直到同学让我帮他爬个数据,然后我就写了个爬虫。

dependencies

使用了 superagent 获取获取然后使用 jsdom 解析,后期使用了 node-xlsx 来把json转为xls格式。

源码&Useage

paipaidai-spider

小总结

这个爬虫我分了两个部分。整个过程还是很简单的,获取url存到数组里->保存成json->读取json根据url获取页面信息->保存成json->json转xls。

第一部分

第一部分我先获取每个投资单的url,这里非常简单,就是改变分类页的页号然后获取这个页面下所有的链接的 href 特性值,
然后使用Promise.all来解决多重异步循环。

第二部分

获取投资单url后,即可获取每个页面上的具体信息,这里有两个坑爹的地方,第一个就是若用户没有详细信息,这个页面的布局就不同,
此时用class获取的dom集合的顺序不同,一开始我都没有发现,后来才发现。第二个坑点是我没想到获取页面会失败的情况,本来也准备
Promise.all 的,然后有可能会卡住,然后我就用递归。

插曲

开始运行运行爬虫的时候不知道爬到第几个页面了,然后我就加个进度栏(格式[205/20000])就看着爽多了😆。