Node.js 节点js,某些网站的请求正文为空
我正在试验Node.js和web抓取。在本例中,我试图从本地广播电台抓取最新的歌曲进行显示。对于此特定网站,Node.js 节点js,某些网站的请求正文为空,node.js,web-scraping,Node.js,Web Scraping,我正在试验Node.js和web抓取。在本例中,我试图从本地广播电台抓取最新的歌曲进行显示。对于此特定网站,body不返回任何内容。当我尝试使用谷歌或任何其他网站时,body有一个值。 这是我正在尝试的网站的一个功能吗 这是我的密码: var request = require('request'); var url = "http://www.radiomilwaukee.org"; request(url, function(err,resp,body) { if (!err &a
body
不返回任何内容。当我尝试使用谷歌或任何其他网站时,body
有一个值。
这是我正在尝试的网站的一个功能吗
这是我的密码:
var request = require('request');
var url = "http://www.radiomilwaukee.org";
request(url, function(err,resp,body) {
if (!err && resp.statusCode == 200) {
console.log(body);
}
else
{
console.log(err);
}
})) 这很奇怪,除非
accept encoding
标题设置为gzip
,否则您请求的网站似乎不会返回任何内容。考虑到这一点,使用此要点将有效:
我在该要点中运行了代码,将URL替换为”http://www.radiomilwaukee.org“
并在代码完成后查看sample.html
文件中的内容
如果您希望在代码中访问网页的内容,可以执行以下操作:
// ...
req.on('response', function(res) {
var body, encoding, unzipped;
if (res.statusCode !== 200) throw new Error('Status not 200');
encoding = res.headers['content-encoding'];
if (encoding == 'gzip') {
unzipped = res.pipe(zlib.createGunzip());
unzipped.on("readable", function() {
// collect the content in the body variable
body += unzipped.read().toString();
});
}
// ...