将基于 cheerio 的搜索循环添加到节点简单爬网器中
Add cheerio-based search loop to node-simplecrawler
我正在使用node-simplecrawler抓取一个网站,我需要在每个页面上的特定div中搜索某些属性值。
简单爬虫文档建议此类任务采用以下结构:
myCrawler.on("fetchcomplete",function(queueItem,data,res) {
var continue = this.wait();
doSomeDiscovery(data,function(foundURLs){
foundURLs.forEach(crawler.queueURL.bind(crawler));
continue();
});
});
我尝试了又尝试,但无法弄清楚究竟在哪里以及如何将我的基于 Cheerio 的搜索代码插入该结构中。真的很感激这里的一些帮助。
var $ = cheerio.load(html);
$('div#jsid-post-container').each(function(i, element){
var StuffINeedToFetch = $(this).attr('data-external-id').text;
实际上没有必要
搞砸doSomeDiscovery。解决方案是直接使用响应缓冲区内容:
myCrawler.on("fetchcomplete",function(queueItem, responseBuffer){
html = responseBuffer.toString();
var $ = cheerio.load(html);
$('div#jsid-post-container').each(function(i, element){
var StuffINeedToFetch = $(this).attr('data-external-id').text;
});
相关文章:
- 如何读取在节点中发出的简单http请求的响应
- 节点.js - 简单示例和 EPERM 错误
- 超级简单的节点应用程序,ä的问题ö等等字符
- 将基于 cheerio 的搜索循环添加到节点简单爬网器中
- 有没有一种简单的方法可以在节点上双击 vis.js 创建超链接/javascript-action
- 节点.JS - 简单的 Socket.IO 示例不起作用.获取调试 - 提供静态内容/socket.io.js(Mac
- 简单的jQuery树问题与更多的节点
- 查找嵌套 xml 节点的更简单方法
- 节点 ssh2 为一个简单的 ls 命令发送多个数据事件
- 通过猫鼬和节点_id进行简单查询.js不起作用
- 节点.js简单的 Web 服务器请求生命周期
- 使用节点运行简单的js文件
- RAM 内存消耗在简单页面刷新节点上不断增加.js使用 Sails.js 框架
- 在节点上设置OAuth2 - 在MongoDB中处理用户的最简单方法
- 无法在简单的节点文件中获取 /
- 简单的TCP聊天节点.js
- 为什么客户端在节点+快递+socket.io+翡翠简单应用中断开连接再重新连接
- 无法在简单节点.js应用程序中找到模块 mongodb
- 苦苦挣扎于简单的节点.js代码
- "TypeError:这个_subscribe不是函数“;在简单节点模块中尝试RxJS时