【发布时间】:2016-05-16 17:58:47
【问题描述】:
我正在用 Node.JS 编写一个 twitter 机器人,但我有一个使用名为“scrapejs”的 npm 库的函数,它从 yahoo Finance 获取数据并且工作正常,问题是虽然我在加载函数之后底部的代码首先运行,而不是为什么。我之前有我的机器人的推文部分工作,但如果我从网络抓取中抓取数据,我不能在推文之后运行它。
代码如下:
console.log("The Bot Is Starting To Work.");
var sp = require('scrapejs').init({
cc: 2, // up to 2 concurrent requests
delay: 5 * 1 // delay .05 seconds before each request
});
sp.load('https://ca.finance.yahoo.com/q?s=CADUSD=X')
.then(function ($, res) {
//$.q("//h3[@class='r']/a").forEach(function(node){ //Adding the HTML Tags to filter the data
console.log("Scraping The Web...");
$.q("//span[@class='time_rtq_ticker']/span").forEach(function (node) {
var res = {
title: node.textContent //Always returns { title: 'NUMBER'} (When Working)
}
console.log(res);
return res;
})
})
.fail(function (err) {
console.log(err);
})
console.log("Why does this part load first??"); // This part comes first before the function above
【问题讨论】:
标签: javascript node.js twitter bots