使用R中的readLines()读取URL时,不完整的最终行发现错误

时间:2017-11-17 18:33:44

标签: r web-scraping

我正在尝试使用R中的readLines()函数读取url的html内容。但是,我收到一条"incomplete final line found"警告消息,如下所示?在这种情况下如何跳过最后一行?任何建议都将非常感谢。

x <- readLines("https://in.finance.yahoo.com/industries/technology")

Warning message:
In readLines("https://in.finance.yahoo.com/industries/technology") :
  incomplete final line found on 'https://in.finance.yahoo.com/industries/technology'

2 个答案:

答案 0 :(得分:12)

大多数文件缺少行尾标记,如下面的新行,所以我只使用warn = FALSE。

cat("abc\ndef\nhij", file="test.txt")
readLines( "test.txt")
# [1] "abc" "def" "hij"
# Warning message:
# In readLines("test.txt") : incomplete final line found on 'test.txt'
readLines( "test.txt", warn=FALSE)
# [1] "abc" "def" "hij"

答案 1 :(得分:0)

我已经多次遇到此问题。在大多数情况下,以下解决方案有所帮助: “在编辑器中打开文件,按“ Enter”并保存”。

但是,有一次该解决方案不起作用。 因此,我在readLines()中设置选项warn = FALSE,最终结果仅存储了整个文件中的几行。所以这就是我所做的。

  1. 我运行了带有warn =“ FALSE”的readLines。    数据<-readLines(file,warn = FALSE)
  2. 我检查了“数据”的长度    长度(数据)    7258
  3. 我打开文件并转到上面提到的行号,即行号7258。下一行有一个看起来很奇怪的字符,我将其删除。并从同一文件的许多其他行中删除了该字符。并保存它。

我再次运行readLines函数,错误消失了。