NodeJS 模块 'request' returns 一些符号而不是 html
NodeJS module 'request' returns some symbols instead of html
我正在学习 Nodejs,并尝试使用 node.js
进行网页抓取
我正在使用节点模块 request
和 cheerio
但是当我请求 url 它 returns 一些符号而不是 html
主体
var request = require('request');
var cheerio = require('cheerio');
request({
url:"http://mangafox.me/manga/shingeki_no_kyojin/v00/c000/1.html"
},(err, res, body) => {
if(err) throw err;
else {
var $ = cheerio.load(body);
console.log(body);
}
});
在命令提示符中输出
谁能告诉我
这里有什么问题?
谢谢
问题是服务器正在发送压缩响应,即使您没有请求压缩响应。
简单的解决方法是将 gzip: true
添加到您的 request()
选项,这不仅会自动解压缩响应,还会将适当的 Accept-Encoding
header 发送到服务器。
我正在学习 Nodejs,并尝试使用 node.js
进行网页抓取我正在使用节点模块 request
和 cheerio
但是当我请求 url 它 returns 一些符号而不是 html
主体
var request = require('request');
var cheerio = require('cheerio');
request({
url:"http://mangafox.me/manga/shingeki_no_kyojin/v00/c000/1.html"
},(err, res, body) => {
if(err) throw err;
else {
var $ = cheerio.load(body);
console.log(body);
}
});
在命令提示符中输出
谁能告诉我 这里有什么问题?
谢谢
问题是服务器正在发送压缩响应,即使您没有请求压缩响应。
简单的解决方法是将 gzip: true
添加到您的 request()
选项,这不仅会自动解压缩响应,还会将适当的 Accept-Encoding
header 发送到服务器。