博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬虫cheerio乱码问题
阅读量:5876 次
发布时间:2019-06-19

本文共 1263 字,大约阅读时间需要 4 分钟。

现在乱码问题是

res.write(爬到的内容),在页面上显示是正常的

但是直接在node端打印console.log(爬到的内容)是乱码

调整乱码问题的关键属性是cheerio.load中的{decodeEntities:false}属性

代码一

var cheerio = require('cheerio')  , superagent = require('superagent')  , express = require('express');var url = 'http://acm.hdu.edu.cn/statistic.php?pid=1000';var app = express();app.get('/', function (req, res, next) {  superagent.get(url).end(function (err, pres) {  var html = pres.text;  var $ = cheerio.load(html, {decodeEntities: false});  var ans = $('.r_search_item').eq(0).html();  res.write(ans);});  });app.listen(3000, function () {  console.log('app is listening at port 3000');});复制代码

代码二

var cheerio = require('cheerio')  , superagent = require('superagent')  , express = require('express');var url = 'http://acm.hdu.edu.cn/statistic.php?pid=1000';var app = express();app.get('/', function (req, res, next) {  superagent.get(url).end(function (err, pres) {  var html = pres.text;  var $ = cheerio.load(html);  var ans = $('.r_search_item').eq(0).html();  res.write(ans);});  });app.listen(3000, function () {  console.log('app is listening at port 3000');});复制代码

总结

当为'代码一'时,添加{decodeEntities: false}属性,node端正常,页面乱码 当为'代码一'时,没有{decodeEntities: false}属性,node端乱码,页面正常

解决方案

转载于:https://juejin.im/post/5c0640f7f265da615876eb1e

你可能感兴趣的文章
maven的tomcat插件如何进行debug调试
查看>>
table表头固定
查看>>
截取字符串中两个字符串中的字符串
查看>>
spring xml properties split with comma for list
查看>>
判断点是否在三角形内
查看>>
Android实战简易教程-第二十三枪(基于Baas的用户注冊验证username是否反复功能!)...
查看>>
在odl中怎样实现rpc
查看>>
leetcode 110 Balanced Binary Tree
查看>>
python活用isdigit方法显示系统进程
查看>>
项目开发总结
查看>>
知行合一
查看>>
jmeter插件之jsonpath提取响应结果和做断言
查看>>
发布支持多线程的PowerShell模块 —— MultiThreadTaskRunner
查看>>
Ubuntu ctrl+alt会导致窗口还原的问题
查看>>
第四十期百度技术沙龙笔记整理
查看>>
推荐系统那点事 —— 基于Spark MLlib的特征选择
查看>>
linux 下RTL8723/RTL8188调试记录(命令行)【转】
查看>>
開始新的征程
查看>>
SpringMVC案例1——对User表进行CRUD操作
查看>>
看雪CTF第十四题
查看>>