【发布时间】:2016-03-04 11:26:45
【问题描述】:
我想从以下网址抓取德里的当前温度。我正在使用 MEAN 堆栈。我不太了解jQuery。有时我会收到错误:
{ [Error: socket hang up] code: 'ECONNRESET' }
有时我会得到一周的全部温度。怎样才能达到这个温度?帮帮我
api.get('/scrape', function (req, res) {
url = "http://www.timeanddate.com/weather/india/new-delhi";
request(url,function(error,response,html) {
if (!error) {
var $ = cheerio.load(html);
var title, release, rating;
var json = {title: "", release: "", rating: ""};
$('.').filter(function () {
var data = $(this);
title = data.children().first().text();
release = data.children().last().children().text();
json.title = title;
json.release = release;
});
console.log('before');
var data=$('div.rows').find('span');
console.log(data.text());
console.log('after');
}
else
{
console.log(error);
}
});
});
【问题讨论】:
-
这个请求多久发送一次?您可能希望定期发送它(每 5 分钟一次?)并存储结果,然后用存储的结果进行响应,而不是每次需要时都抓取。 (您可能还可以使用 Web 服务来代替抓取...)
-
当这个人重新加载我们想要临时的页面时发送它。
-
而且,是每小时一次吗?每分钟 200 次?
-
定期请求它可以让您通过简单地返回最后一个成功的值来缓解网络错误,直到另一个请求成功更新该值。
-
为什么不使用类似的 api:developer.forecast.io
标签: jquery node.js web-scraping