与Scraperjs刮擦时错误的字符集

时间:2016-10-06 12:49:20

标签: javascript node.js character-encoding web-scraping

我正在使用Scraperjs使用charset ISO-8859-1抓取一个网站。我的问题是æ,ø,å和é等字符编码不正确(它们显示/保存为问号)。

有什么想法吗?

Scraperjs: https://github.com/ruipgil/scraperjs

2 个答案:

答案 0 :(得分:0)

自己找到解决方案。您需要将编码指定为二进制,以便读取显示的字符。请参阅以下代码:

        scraperjs.StaticScraper.create()
        .request({ url:"http://vg.no", encoding: "binary"})
        .scrape(function($) {
            return $("p").map(function() {
                return $(this);
            });
        })
        .then(function(domElements).........

答案 1 :(得分:0)

const scraperjs = require('scraperjs');
const urlToScrape = 'http://www.somesite.com';
const selectorToScrape = "div#someId";
scraperjs.StaticScraper.create({
    url: urlToScrape, 
    encoding: "binary"
}).scrape(function ($) {
    return $(selectorToScrape).map(function () {
        return $(this).text();
    }).get();
}).then(function (result) {
 console.log(result);
});