小编muy*_*ueh的帖子

使用Node-request抓取网站时,Big5到utf-8编码

我是Node.js的新手,我正在尝试使用请求模型来删除网站,我遇到编码问题:目标网站使用big5作为编码,我希望将其转换为utf-8以下代码:

var Iconv = require('iconv').Iconv;
var fs = require('fs');
var big5_to_utf8 = new Iconv('big5', 'utf-8');
var buffer = big5_to_utf8.convert(fs.readFileSync('./test'));
console.log(buffer.toString());
Run Code Online (Sandbox Code Playgroud)

我怀疑这个问题可能是由于报废过程中的一些错误引起的,所以为了你的参考,我的报废代码:

var fs = require('fs');
var request = require('request');

var j = request.jar()
var cookie = request.cookie('ASPSESSIONIDCSDCTTSR=KDMMMIMDCCIHJIJFDKGEDFOH')
j.add(cookie)

request({
    url: 'http://amis.afa.gov.tw/v-asp/v101r.asp',
    method: "POST",
    "Content-type": "application/x-www-form-urlencoded;",
    jar:true,
    encoding: 'utf-8',
    form: {
        mhidden1:false,
        myy:101,
        mmm:9,
        mdd:25,
        mpno:"FC",
        mpnoname:"%ADJ%A5%CA++++",
        B1:"%B6%7D%A9l%ACd%B8%DF",
    }
}, function (error, response, body) {
    console.log(body);
    fs.writeFile("test", body);
});
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助.

编辑:

为了更具体地说明错误,以下是代码返回的内容:

<p align="center"><font color="#800080">?????s?????u???C??</font><em><font
size="4" color="#000080">[?W?@??]</font></em><font color="#800080">?^???e?@???J?????e???~???d??</font></p>
Run Code Online (Sandbox Code Playgroud)

这应该是它应该返回的:

<p align="center"><font …
Run Code Online (Sandbox Code Playgroud)

encoding utf-8 node.js

6
推荐指数
1
解决办法
4308
查看次数

如何确定列是定量数据还是分类数据?

如果我有一个包含许多列的文件,那么数据都是数字,我怎么知道特定的列是分类数据还是定量数据?是否有针对此类问题的研究领域?如果不是,可以使用哪些启发式方法来确定?

我能想到的一些启发式方法:

可能是分类数据

  • 汇总唯一值(如果<)some_threshold,则更有可能获得分类数据。
  • 如果数据高度集中(标准差低)
  • 如果唯一值是高度顺序的,并且从1开始
  • 如果列中的所有值都具有固定长度(可以是ID /日期)
  • 如果本福德定律的 p值很小
  • 如果在卡方检验中对结果列的p值非常小

可能是定量数据

  • 如果该列具有浮点数
  • 如果该列具有稀疏值
  • 如果列的值为负

其他

  • 也许定量数据更可能接近/接近定量数据(反之亦然)

我正在使用R,但是问题不必特定于R。

r machine-learning

5
推荐指数
1
解决办法
4846
查看次数

使用 .call 的 D3js 链接转换

我想要一个处理每个转换部分的函数,并能够使用以下方法链接它.call

it
    .attr //state 1
    .transition()
    .duration(1000)
    .attr //state 2
Run Code Online (Sandbox Code Playgroud)

function move(it){
    return it.transition().duration(1000)
}


it
    .attr //state 1
    .transition()
    .call move
    .attr //state 2
Run Code Online (Sandbox Code Playgroud)

我想聚合一个函数内的所有转换,并使其成为有条件的。下面的例子:

var w = 960;
var h = 500;
var svg = d3.select("body")
    .append("svg")
    .attr("width", w)
    .attr("height", h);



var animation = true;


function runAnimation(it){ // this doesn't work, it will just skip the animation
    if(animation){
        return it.transition()
            .duration(1000);
    }
    else{
        return it;
    }
}

svg.append("circle")
    .attr("cx", w / 2)
    .attr("cy", h / …
Run Code Online (Sandbox Code Playgroud)

d3.js

5
推荐指数
1
解决办法
997
查看次数

为什么(*1.1 1.1)在球拍中是1.2100000000000002?

当我在球拍中尝试以下内容时:

(* 1.1 1.1)
Run Code Online (Sandbox Code Playgroud)

为什么会回来

1.2100000000000002
Run Code Online (Sandbox Code Playgroud)

代替

1.21
Run Code Online (Sandbox Code Playgroud)

(* 1.2 1.2) ; is 1.44, as expected
Run Code Online (Sandbox Code Playgroud)

编辑

并且以下返回false:

(= (* 1.1 1.1) 1.21); #f
Run Code Online (Sandbox Code Playgroud)

scheme racket

4
推荐指数
1
解决办法
150
查看次数

是否有可能在`transform`中引用其他var?

是否可以引用其他var transform

例如:

Data = transform(Data, 
              m = x,
              d = m,
              c = m * 2
)
Run Code Online (Sandbox Code Playgroud)

r

1
推荐指数
1
解决办法
40
查看次数

标签 统计

r ×2

d3.js ×1

encoding ×1

machine-learning ×1

node.js ×1

racket ×1

scheme ×1

utf-8 ×1