2016-04-22 19 views
2

我想使用tm软件包对this website上的文件进行文本挖掘。我使用下面的代码来下载文件之一(即abell.pdf)到我的工作目录,并试图存储内容:R tm package strptime(d,fmt)中的readPDF错误:输入字符串太长

library("tm") 
url <- "https://baltimore2006to2010acsprofiles.files.wordpress.com/2014/07/abell.pdf" 
filename <- "abell.pdf" 
download.file(url = url, destfile = filename, method = "curl") 

doc <- readPDF(control = list(text = "-layout"))(elem = list(uri = filename), 
               language = "en", id = "id1") 

但我收到以下错误和警告:

Error in strptime(d, fmt) : input string is too long 
In addition: Warning messages: 
1: In grepl(re, lines) : input string 1 is invalid in this locale 
2: In grepl(re, lines) : input string 2 is invalid in this locale 

pdfs不是特别长(5页,978 KB),我已经能够成功地使用readPDF函数来读取我Mac OSX上的其他pdf文件。我最需要的信息(2010年人口普查总人口数量)位于每个pdf的第一页,因此我尝试将pdf缩短至第一页,但我得到的信息相同。

我是新来的tm包,所以我很抱歉,如果我失去了明显的东西。任何帮助是极大的赞赏!

回答

2

根据我读过的内容,这个错误与“readPDF”函数试图为您导入的文件创建元数据的方式有关。无论如何,您可以使用“信息”选项更改元数据信息。例如,我通常(使用您的代码)通过以下方式修改命令绕过这个错误:

doc <- readPDF(control = list(info="-f",text = "-layout"))(elem = list(uri = filename),language = "en", id = "id1") 

凡加入“信息=” - F“”是唯一的变化。这并不真正“解决”问题,但它绕过了错误。欢呼:)