首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

rvest html_nodes()返回空字符

rvest是一个在R语言中用于爬取网页数据的包。html_nodes()是rvest包中的一个函数,用于根据选择器提取网页中的节点。当html_nodes()返回空字符时,可能存在以下几种原因:

  1. 选择器未能匹配到任何节点:html_nodes()的参数是一个CSS选择器,用于指定要提取的节点。如果选择器未能匹配到任何节点,那么html_nodes()将返回空字符。这可能是由于选择器的错误,或者网页中没有符合选择器的节点。
  2. 网页数据未能正确加载:有时候,网页中的数据可能是通过JavaScript动态加载的。在这种情况下,使用rvest包直接请求网页可能无法获取到动态加载的内容。可以尝试使用其他工具,如RSelenium,来模拟浏览器行为,以确保能够获取到完整的网页数据。
  3. 网页结构发生变化:如果网页的结构发生变化,例如节点的层次结构或属性发生改变,那么之前使用的选择器可能无法正确匹配到节点。可以检查网页的源代码,确认网页结构是否发生了变化,并相应地更新选择器。

在rvest中使用html_nodes()函数时,可以通过以下方式来调试和确定问题的原因:

  1. 检查选择器的正确性:首先,确保选择器是正确的,可以在浏览器的开发者工具中使用相同的选择器来检查是否能够正确匹配到节点。
  2. 检查网页数据的加载方式:观察网页的加载过程,确认数据是否是通过动态加载获取的。可以尝试使用其他工具或方法来获取完整的网页数据,比如使用RSelenium模拟浏览器行为。
  3. 检查网页结构的变化:比较之前成功提取节点的网页和当前无法提取节点的网页,查看网页结构是否发生了变化。可以对比两个网页的源代码,找出可能导致选择器无法匹配的变化。

综上所述,当rvest中的html_nodes()返回空字符时,可能是选择器未能匹配到节点、网页数据未能正确加载或网页结构发生变化。通过检查选择器的正确性、确认网页数据的加载方式和检查网页结构的变化,可以确定具体的问题原因并解决。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

生信人的R语言视频教程-语法篇-第十一章:R中的网络爬虫

图片来自网络 2.rvest包介绍 对于rvest的使用,主要掌握read_html、html_nodes、html_attr几个函数。...rvest是R语言一个用来做网页数据抓取的包,包的介绍就是“更容易地收割(抓取)网页”。其中html_nodes()函数查找标签的功能非常好用。...html_tag():提取标签名称; html_table():解析网页数据表的数据到R的数据框中; html_session():利用cookie实现模拟登陆; guess_encoding():返回文档的详细编码...") 2.2 html_nodes函数 html_nodes函数用于获取网页节点信息。...html_nodes用于获取相应节点的数据,先看下html_nodes的参数: html_nodes(x, css, xpath) x:网页信息,即read_html获取的网页信息变量; css:使用css

1.6K20
  • R语言爬虫教程与实例操作:如何爬取基金与Pubmed网站信息

    R包 使用rvest包中的read_html()函数提取网页中的内容。 读取国自然操作 1....读取网页 安装并加载rvest包; 将网址赋值给url; 使用read_html()函数读取,如下所示: install.packages("rvest") library(rvest) url='http...如下所示: 我们可以看到,在a节点现在有2个内容,第1个是链接,第2个是文本,也就是标题,我们的目标就是这个项目标题,现在我们从div那个节点开始,来写这个标题的地址,这个网址的结果如下所示: 在rvest...打开pubmed,https://www.ncbi.nlm.nih.gov/pubmed,输入circulation,点击搜索如下所示: 加载rvest包,输入目标网址,如下所示: ## Crawl...中构建函数的内容可以找本书看看,这里直接放代码,如下所示: ## Contruction function for web site read_html.my <- function(url){ library(rvest

    1.3K10

    R 爬虫|手把手带你爬取 800 条文献信息

    试水 我们主要是使用 rvest 这个 R 包来爬取,这个主要应用于静态网页的数据爬取会实用一些,安装: install.packages('rvest') 我们的目的是搜索感兴趣的关键词,然后对搜索的结果进行爬取...大家可以自行设置,我们需要获取的该页面的文章标题和作者信息,首先我们爬取的网址就是当前页面的网址,因为显示的限制,所以需要对每个页面的数据进行爬取: # 加载R包 library(xml2) library(rvest...<- paste(root,1:5,sep = '') 接下来使用 read_html 函数解析网址的内容,html 主要有 head 和 body 两个成分组成: # 示例,read_html 返回...这里我们尝试第一篇文章的标题节点信息获取: # 节点选择器 read_html(url[1],encoding = 'utf-8') %>% html_nodes('#search-results...可以看到返回的是完整的该位置处的节点信息,可以使用 html_text 函数从里面提取文本信息,去除 html 格式的标签等不必要信息: read_html(url[1],encoding = 'utf

    5.9K20

    R语言vs Python:数据分析哪家强?

    在python中,如果我们在非数值列(例如球员姓名)上应用函数,会返回一个错误。要避免这种情况,我们只有在取平均值之前选择数值列。...在Python中,最新版本的pandas包含一个sample方法,返回对原始dataframe确定比例的随机抽样,这使得代码更加简洁。...R library(rvest) page <- read_html(url) table <- html_nodes(page, ".stats_table")[3] rows <- html_nodes...我们使用rvest,一个广泛使用的新R网络抓取包实现抽取数据,注意这里可以直接传递url给rvest,因此上一步在R中并不是必须的。...数据分析工作流在两者之间有许多相似之处 R和Python之间有一些互相启发的地方(pandas的Dataframe受到R中dataframe的影响,rvest包来自BeautifulSoup的启发),两者的生态系统都在不断发展壮大

    3.5K110

    左手用R右手Python系列17——CSS表达式与网页解析

    R语言与Python中都有支持CSS表达式的解析库,R语言中以rvest包为主进行讲解,Python中为BeautifulSoup为主进行讲解。...本篇讲解内容实战网页时我的天善社区博客主页,网址如下: https://ask.hellobi.com/blog/datamofang/sitemap/ R语言: R语言中,rvest中的默认解析语法即为...css路径表达式,当然rvest也是支持XPath,只是XPath并非首选语法,而是备选语法,怎么知道呢,打印一下rvesthtml_nodes函数参数内容即可得知。...library("rvest") url<-"https://ask.hellobi.com/blog/datamofang/sitemap/" content<-read_html(url,encoding...,因为li内的后三个节点都是span节点,也就是last-child是有符合条件的,所以返回最后一个span内容,内容为空。

    1.6K50
    领券