Webクローラーを作ろうと思ってcherrio-httpcliを使ってみたのですが、文字化けをして詰まりました。。。
環境:Mac OS X El Capitan
Node v5.7.0
package.json
javascript
1{ 2 "name": "node-crowler", 3 "version": "1.0.0", 4 "description": "", 5 "main": "index.js", 6 "scripts": { 7 "test": "echo \"Error: no test specified\" && exit 1" 8 }, 9 "author": "", 10 "license": "ISC", 11 "devDependencies": { 12 "buffer": "^4.5.0", 13 "cheerio-httpcli": "^0.6.5", 14 "gulp": "^3.9.1", 15 "gulp-typescript": "^2.12.1", 16 "iconv": "^2.1.11", 17 "request": "^2.69.0", 18 "tsd": "^0.6.5" 19 } 20} 21
getpage.js
javascript
1var client = require('cheerio-httpcli'); 2 3//yahooのトップページを取得する 4var url = "http://www.yahoo.co.jp"; 5 6client.fetch(url, function (err, $, res) { 7 var body = $.html(); 8 console.log(body); 9});
以下のコマンドにより実行
$ node src/getpage.js > result
resultを見ると、日本語の部分が
html
1<h2>ヤフーからのお知らせ</h2>
のように文字化けしている。
調べてみたところ、特に設定をしなくてもライブラリ側でよろしく文字コードを処理してくれるのがcherrio-httpcliらしいですが、私のPCではきっちり文字化けしてしまっています。。。
cherrio-httpcli#fetchの第二引数に"sjis"や"utf8"を指定しても解決しませんでした。
手詰まりになったので質問させていただきます。よろしくお願いしますm(__)m
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/02 16:34