code: function getCharset(str){
  		var charset = (str && str.match(/charset=['"]?([\w.-]+)/i) || [0, null])[1];
  		return charset && charset.replace(/:\d{4}$|[^0-9a-z]/g, '') == 'gb2312' ? 'gbk' : charset;
  	}
docs: Browsers treat gb2312 as gbk, but iconv-lite not. Replace gb2312 with gbk, in order to parse the pages which say gb2312 but actually are gbk.