简体   繁体   English

R 包 readHTMLTable 中的抓取错误:make.names 中的错误无效多字节字符串

[英]Scraping error in R package readHTMLTable: Error in make.names invalid multibyte string

I am trying to get some data from a HTML web by using readHTMLTable.我正在尝试使用 readHTMLTable 从 HTML 网络获取一些数据。

The web contains some Chinese utf-8 code, so it usually gives me some error.网络包含一些中文utf-8代码,所以它通常会给我一些错误。

First try:第一次尝试:

u = "http://app.finance.ifeng.com/hq/stock_daily.php?code=sh600030"
url = htmlParse(u)
tbls = readHTMLTable(u,asText= TRUE)

dat <- data.frame(tbls)

ERROR:Error in make.names(vnames, unique = TRUE) : invalid multibyte string 5错误:make.names(vnames, unique = TRUE) 中的错误:无效的多字节字符串 5

The solution is to add the argument encoding = "UTF-8" , in my case, to these functions or connections.解决方案是将参数encoding = "UTF-8" ,在我的例子中,添加到这些函数或连接中。 More generally, providing the default encoding or a hook before parsing might be a more robust solution.更一般地说,在解析之前提供默认编码或钩子可能是一个更健壮的解决方案。

url = htmlParse(baseURL, encoding="GB2312") table=readHTMLTable(url,header=,which=1,encoding="UTF-8") url = htmlParse(baseURL, encoding="GB2312") table=readHTMLTable(url,header=,which=1,encoding="UTF-8")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM