我有这段代码:
var jsdom = require('jsdom');
jsdom.env("http://sunwell.pl/index.php?id=ranking&t=2vs2&r=1",
['//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'],
function(error, window){
if(error) {console.log(error); return;}
var $ = window.$.bind(window);
var _ladder = [];
$("#rankingtable tr").each(function(i, v){
console.log('one more...');
_ladder[i] = [];
$(this).children('td').each(function(ii, vv){
_ladder[i][ii] = $(this).text();
});
});
console.log(_ladder);
window.close();
}
);
哪个好,在我的本地计算机(Windows)上工作得非常好,给予预期的更多......'文本几次,然后是完整的数组。
当我在我的VPS(板载debian)上运行它时会出现问题,它只输出一个空数组。我检查了是否我的服务器可能由于某些原因没有收回jquery对象或网站,但一切似乎都很好。我不知道如何解决这个问题,感谢任何帮助,我很确定这个问题是平庸的。
答案 0 :(得分:0)
这可能是因为您遇到了Cloudflare Challenge页面。
尝试输出window.document.title
,您应该在< title>中获得Attention Required! | CloudFlare
。您需要找到解决验证码的方法,或让网站所有者将您的IP列入Cloudflare白名单。