R:URL上的读取行导致缺少行

R:URL上的读取行导致缺少行,r,web,html-parsing,R,Web,Html Parsing,当我在上读取行()时,会得到缺少的行或值 当您使用上面的URL时,CTR+F会找到38个与“TV-”匹配的文本实例。另一方面,当我运行readLines()和grep(“TV-”,HTML)时,我只找到12个 那么,如何避免编码/间距错误,以便获得完整的HTML行呢?您可以使用rvest来刮取数据。例如,要获取所有标题,您可以执行以下操作: library(rvest) url <- 'https://www.imdb.com/search/title/?locations=Vancou

当我在上读取行()时,会得到缺少的行或值

当您使用上面的URL时,CTR+F会找到38个与“TV-”匹配的文本实例。另一方面,当我运行
readLines()
grep(“TV-”,HTML)
时,我只找到12个


那么,如何避免编码/间距错误,以便获得完整的HTML行呢?

您可以使用
rvest
来刮取数据。例如,要获取所有标题,您可以执行以下操作:

library(rvest)

url <- 'https://www.imdb.com/search/title/?locations=Vancouver,%20British%20Columbia,%20Canada&start=1.json'
url %>%
  read_html() %>%
  html_nodes('div.lister-item-content h3 a') %>%
  html_text() ->  all_titles

all_titles

# [1] "The Haunting of Bly Manor"               "The Haunting of Hill House"             
# [3] "Supernatural"                            "Helstrom"                               
# [5] "The 100"                                 "Lucifer"                                
# [7] "Criminal Minds"                          "Fear the Walking Dead"                  
# [9] "A Babysitter's Guide to Monster Hunting" "The Stand"   
#...                 
#...
库(rvest)
url%
读取html()%>%
html_节点('div.lister-item-content h3 a')%>%
html_text()->所有_标题
所有书名
#[1]“布莱庄园闹鬼”“希尔豪斯闹鬼”
#[3]“超自然”的“赫尔斯特伦”
#[5]“100”路西法
#[7]“犯罪心理”“害怕行尸走肉”
#[9]《猎怪保姆指南》《看台》
#...                 
#...

您想从页面中提取哪些信息。顺便说一句,在你分享的链接中,我找不到任何使用CTR+F的“TV-”实例。@Ronaksah谢谢。我正试图把在加拿大温哥华拍摄的所有电视节目的标题都拿出来。IMDB链接应该有几个“TV-”字符串,如TV-MA、TV-14等。我有部分工作代码可以完成这项工作。首先,我索引“TV-”的位置。然后取上面4行的标题。不幸的是,readLines()跳过了一些行或将值留空,因为它不知道正在读取什么。谢谢。这可以获得所有标题。我需要再次运行html_nodes(),并附加一个包含“TV-”或CSS选择器中的任何内容的新列。最后,我只是过滤掉不包含“TV-”的行。后续问题:为什么html_节点(“span.certificate”)偶尔会显示与网页上显示的内容不同的内容。例如,网页显示“TV-14”,但html_nodes()将输出“14+”。这很奇怪。我不知道为什么会这样。您是否使用了
html\u text()
从中提取文本?是的,我也使用了html\u text()。向上移动代码,html_nodes()也有不同的值。与Chrome的“查看页面源代码”中的原始HTML代码交叉引用,它们是不同的。例如,电视剧《超自然》就是TV-14。但是,read_html()将其视为“PG”。这是编码问题吗?这些是完全不同的电影认证。