猿问

node.js 爬虫 异步延时问题

  1. 比方说有1万个关键词['query1', 'query2' ... ... ]

  2. 我要用这些关键词爬虫抓网上的数据,有两个接口,一个是获取当前query所有的页数,一个是获取当前query当前页的数据。

  3. 首先请求第一个接口拿到当前query有多少页,然后再获取每一次的数据

  4. 每次请求必须等上一个请求完成,防止网站崩溃

我用node写的,请问有解决的办法吗?


湖上湖
浏览 438回答 1
1回答

拉莫斯之舞

这里面涉及到的技术点如下:发出 HTTP 请求,用 http 模块的 get 或者 request 函数;分析请求到的页面数据,假设页面是 html 页面,可以用 cheerio 来解析页面的 DOM 结构,获取页面上的数据;异步流程控制,因为 node.js 是单线程异步执行的,所以你如果两个任务需要串行执行,需要进行流程控制;流程控制可以自己实现,也可以用第三方库来实现;能想到的大概就是这些,欢迎大家补充。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答