作者oldjojotenya (旧舅舅)
看板R_Language
标题[问题] 万恶的text encoding
时间Mon Feb 2 17:55:18 2015
[问题类型]:
程式谘询
[软体熟悉度]:
新手使用者
[问题叙述]:
试着去抓公开观测资讯站的财务报表时遇到了文字编码乱码的问题。
原始页面网址为:
http://mops.twse.com.tw/mops/web/t164sb03
由於从该页面获取财报资料需要透过POST方法表单递交,因此找到HTML中的form标签,
把action的网址加上後面杂七杂八需要的name-value弄成query後找到了财报网页:
http://mops.twse.com.tw/mops/web/ajax_t05st33?step=1&firstin=1&isnew=false&co_id=3519
可是里面内容竟然是乱码!查了一下Elements,在meta标签发现他用的是big5:
<meta content="text/html; charset=big5" http-equiv="Content-Type">
所以後续的程式代码就编写成如下:
url=URLencode("
http://mops.twse.com.tw/mops/web/ajax_t164sb03?step=1&firstin=1&isnew=true&co_id=3519")
url=getURL(url,.encoding="big5")
table=readHTMLTable(url,stringAsFactor=FALSE,which=2)
但读出来的东西仍然是乱码,
期间也试过了之前Wush大分享过的:
Sys.setlocale(category='LC_ALL', locale='C')
但好像对这个案不管用,
既然乱码是出现在网站的,而且网站的meta标签也写明是用big5,为何getURL设定big5
会不work呢@@请教有什麽好的解决办法嘛
[关键字]:Text Encoding
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 112.105.245.56
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1422870922.A.302.html
※ 编辑: oldjojotenya (112.105.245.56), 02/02/2015 17:56:13
※ 编辑: oldjojotenya (112.105.245.56), 02/02/2015 17:57:13
1F:→ oldjojotenya: 莫名其妙解决了 02/03 12:39