小编Tom*_*Tom的帖子

使用xpathSApply来刮取R中的XML属性

我正在使用xpathSApply(在XML包中)在R中搜索XML并且无法将属性拉出来.

首先,相关的XML片段:

 <div class="offer-name">
        <a href="http://www.somesite.com" itemprop="name">Fancy Product</a>
      </div>
Run Code Online (Sandbox Code Playgroud)

我使用以下方法成功拉出了'Fancy Product'(即元素?)

Products <- xpathSApply(parsedHTML, "//div[@class='offer-name']", xmlValue) 
Run Code Online (Sandbox Code Playgroud)

这需要一些时间(我是一个n00b),但文档很好,我可以利用这里有几个已回答的问题.我无法弄清楚如何拉出" http://www.somesite.com "(属性?).我推测它涉及将第三个术语从'xmlValue'更改为'xmlGetAttr',但我可能完全没有了.

仅供参考(1)我粘贴的片段上面还有2个父<div>,(2)这里是缩写的完整代码(我认为不相关,但为了完整性而包括在内)是:

library(XML)
library(httr)

content2 = paste(readLines(file.choose()), collapse = "\n") # User will select file.
parsedHTML = htmlParse(content2,asText=TRUE)

Products <- xpathSApply(parsedHTML, "//div[@class='offer-name']", xmlValue) 
Run Code Online (Sandbox Code Playgroud)

xml xpath r

7
推荐指数
2
解决办法
2万
查看次数

抓取API时'RCurl'[R]打包getURL网页错误

我正在尝试使用R中RCurl包的getURL函数从API中抓取页面上的数据.我的问题是当我使用R发出请求时,我无法复制在Chrome中打开URL时得到的响应基本上,当我在Chrome中打开API页面(下面的url)时它工作正常但是如果我在R中使用getURL请求它(或在Chrome中使用隐身模式)我得到'500内部服务器错误'响应而不是漂亮的我正在寻找的JSON.

有问题的网址/ API:http://www.bluenile.com/api/public/loose-diamond/diamond-details/panel?country = USA¤cy = USD&language = en-us&productSet = NN& sku = LD04077082

这是我在[R]中的(失败的)请求.

test2 <- fromJSON(getURL("http://www.bluenile.com/api/public/loose-diamond/diamond-details/panel?country=USA&currency=USD&language=en-us&productSet=BN&sku=LD04077082", ssl.verifypeer = FALSE, useragent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36"))
Run Code Online (Sandbox Code Playgroud)

我的研究到目前为止 我首先在堆栈上查看了这个先前的问题并在我的useragent中添加了请求(没有解决问题但可能仍然是必要的): RCurl包中的getURL()命令的ViralHeat API问题

接下来,我查看了这篇有用的帖子,它指导了我的理由: R浏览器和GET/getURL之间的差异

我对解决方案的想法 这不是我的专业领域,但我的猜测是请求缺少完成请求所需的cookie(因此它在隐身模式下无法在我的浏览器中工作).我将成功请求的请求和响应与不成功的请求进行了比较:

成功要求: 在此输入图像描述

不成功的请求:

在此输入图像描述

有人有主意吗?我应该在RSelenium第二篇文章中尝试使用MrFlick建议的软件包.

curl r geturl rcurl httr

5
推荐指数
1
解决办法
1348
查看次数

标签 统计

r ×2

curl ×1

geturl ×1

httr ×1

rcurl ×1

xml ×1

xpath ×1