标签: httr

如何将 HTML R 对象转换为字符?

这是我的可重现示例:

library(rvest)
page <- html("http://google.com")
class(page)
page
> as.character(page)
Error in as.vector(x, "character") : 
  cannot coerce type 'externalptr' to vector of type 'character'
Run Code Online (Sandbox Code Playgroud)

如何将页面从 html 类转换为字符向量,以便将其存储在某处?

html_text 或 html_attr 之类的 html 函数没有给我完整的源代码。我想存储它,以便以后可以使用 html() 重新加载它。

谢谢。

xml r httr rvest

2
推荐指数
1
解决办法
4082
查看次数

在R中使用httr到POST文件时指定文件名

尝试使用R从R上传数据文件httr POST.以下几乎可以工作,但我需要指定文件名,例如"mydata.csv".如何指定文件名?它到达服务器时是空白的.

POST(uri, body=list(y=upload_file(filename)))
Run Code Online (Sandbox Code Playgroud)

curl其中一个将指定它与-F name=filename如下:

curl -i -F name=test -F filedata=@localfile.jpg http://example.org/upload
Run Code Online (Sandbox Code Playgroud)

如何使用httr发布多部分/相关内容(适用于Google Drive API)

post r httr

2
推荐指数
1
解决办法
1663
查看次数

从 API 接收数据后,R httr content(req) 到数据帧

我正在尝试通过美国人口普查地理编码器对一组地址进行批量地理编码:http : //geocoding.geo.census.gov/geocoder/

我发现了这个问题:

在 R 中使用 httr 发布和接收来自 API 的数据

哈德利的建议非常适合将我的数据帧发送到 API 并取回地理编码地址。我遇到的问题是如何将返回的数据返回到数据框中。我会在那里评论他的回应,但不幸的是,由于这是一个新帐户,我还不能发表评论。

所以我的代码如下:

req <- POST("http://geocoding.geo.census.gov/geocoder/geographies/addressbatch", 
body = list(
      addressFile = upload_file("mydata.csv"),
      benchmark = "Public_AR_Census2010",
      vintage = "Census2010_Census2010"
 ), 
encode = "multipart",
verbose())
stop_for_status(req)
content(req)
Run Code Online (Sandbox Code Playgroud)

当我运行 content(req) 时,我得到如下所示的数据:

"946\",\"123 MY STREET, ANYTOWN, TX,
99999\",\"Match\",\"Non_Exact\",\"123 MY STREET, ANYTOWN, TX,
99999\",\"-75.43486,80.423775\",\"95495654\",\"L\",\"99\",\"999\",\"021999\",\"3
005\"\n\"333\",\"456 MY STREET, ANYTOWN, TX, 
99999\",\"Match\",\"Exact\",\"456 MY STREET, ANYTOWN, TX, 
99999\",\"-75.38545,80.383747\",\"6546542\",\"R\",\"99\",\"999\",\"021999\",\"3002\"\n\
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用这里提到的 jsonlite 方法:Successly coercing paginated JSON object to R dataframe

以及谷歌搜索 httr/content 到数据框,并没有任何运气。我最接近获得我想要的东西的是使用

cat(content(req, "text"), "\n") 它得到的结果看起来像一个我可以用作数据框的 …

api geocoding r httr

2
推荐指数
1
解决办法
3453
查看次数

rvest不提取自闭合的xml节点

试图解析这个xml文件:http: //data.fcc.gov/api/block/find ?latitude = 48.9905&longitude = 1222.2733&showall = false

rvest/ xml2接缝无法正确识别节点:

require(rvest) #which uses xml2 internally
doc <- read_xml("http://data.fcc.gov/api/block/find?latitude=48.9905&longitude=-122.2733&showall=false")
> doc
{xml_document}
<Response>
[1] <Block FIPS="530730102002091"/>
[2] <County FIPS="53073" name="Whatcom"/>
[3] <State FIPS="53" code="WA" name="Washington"/>
Run Code Online (Sandbox Code Playgroud)

试图获得节点我做了 - 导致错误(没有匹配)

doc %>% xml_node("County") # Error: No matches
Run Code Online (Sandbox Code Playgroud)

我也试过它read_htmlhttr::GET结合两者:read_htmlread_xml......任何想法

PS:示例来自此处:解析对查询的XML响应.我试图解决这个问题rvest

xml r web-scraping httr rvest

2
推荐指数
1
解决办法
240
查看次数

在 SHINY 中显示 HTTP GET 数据

我有一个 PostgreSQL 数据库,我使用 Talend DI 为其创建了 RESTful Api,它允许我查询表
现在我的问题是如何在 Shiny 中调用我的 Api 并显示收到的数据?

http获取响应示例:

 [{"medical_consultations":{"medical_consultation":[{"id":"1640087","id_consultation":"GFAPAAPA P 834406012009","consultation_date":"07-01-2009","id_center":"APA"},{"id":"1640088","id_consultation":"GFAPAAPA P1079007012010","consultation_date":"08-01-2010","id_center":"APA"},{"id":"1640089","id_consultation":"GFAPAAPA P1098811052007","consultation_date":"12-05-2007","id_center":"APA"}]}}]
Run Code Online (Sandbox Code Playgroud)

Ps:我在 Shiny 中使用“RPostgreSQL”包直接连接到我的数据库没有问题,但我更喜欢将它与 Shiny 分开,那就是使用我的网络服务

json http-get httr shiny

2
推荐指数
1
解决办法
1278
查看次数

使用R从网页中提取元描述

您好我正在尝试检索这些wepages元描述

从页面来源"

Data<-data.frame(Pages=c(
"http://boingboing.net/2016/06/16/spam-king-sanford-wallace.html", 
"http://boingboing.net/2016/06/16/omg-the-japanese-trump-commer.html",
"http://boingboing.net/2016/06/16/omar-mateen-posted-to-facebook.html"))
Run Code Online (Sandbox Code Playgroud)

期望的输出

Data$Meta_Description<-data.frame(Extracted=c(
"Sanford Wallace gets 2.5 years in prison for 27 million Facebook", 
"OMG, this Japanese Trump Commercial is everything",
"Omar Mateen posted to Facebook during Orlando mass shooting"))
Run Code Online (Sandbox Code Playgroud)

我试图用httr来完成这个任务但是我无法以所需的输出格式获取它或者从使用GET命令检索的内容中提取内容

library (httr)
resp<-GET ("http://boingboing.net/2016/06/16/spam-king-sanford-wallace.html")
str(resp)
List of 10
$ url        : chr "http://boingboing.net/2016/06/16/spam-king-sanford-wallace.html"
$ status_code: int 200
$ headers    :List of 22
..$ server                     : chr "Apache/2.2"
Run Code Online (Sandbox Code Playgroud)

我需要从源代码中提取的字段在此字符串之后

<meta itemprop="description" content="
Run Code Online (Sandbox Code Playgroud)

像这样

<meta itemprop="description" content="&#039;Spam King&#039; 
Sanford Wallace gets 2.5 years in prison for …
Run Code Online (Sandbox Code Playgroud)

r httr rvest

2
推荐指数
1
解决办法
1600
查看次数

R - 在网站上发送搜索请求

我有一个小问题,涉及在网站上发布搜索请求并使用 R 包 rvest 和 httr 显示结果...我只想对名称“Acer Campestre”进行一次搜索,然后仅勾选“匹配”框仅完整单词”。这是我的代码:

library(httr)
library(rvest)
col = POST(url="http://www.catalogueoflife.org/col",
           encode="form",
           body=list(text="Acer campestre",
                     fossil="0",
                     match="1",
                     submit="Search"))
col_html = read_html(col)
col_table = html_table(col_html,fill=T)
Run Code Online (Sandbox Code Playgroud)

我想我离答案不太远,但似乎我总是在使用这种使用html代码的命令时遇到麻烦...希望有人可以帮助我,提前感谢!

r web-scraping rcurl httr rvest

2
推荐指数
1
解决办法
1698
查看次数

如何使用基本身份验证发出并发 HTTP 请求

我的目标是从 Shopify 导入客户的订单历史记录。Shopify 只允许我每个请求导入 250 个订单,但我的客户有数千个订单。

这是(基本上)我当前使用httr 的工作解决方案,它非常慢

fetchedList <- list()

# Loop through pages of orders and collect them
for(pg in 1:10){

  requestURL <- paste0("https://abc-store.myshopify.com/admin/orders.json?page=", p)

  fetched <- httr::GET(
    url = requestURL,
    httr::add_headers(Accept = "application/json"),
    httr::authenticate(user = "foo", password = "bar")
  )

  # Append the fetched response to fetchedList 
  fetchedList <- c(fetchedList, list(fetched))
}

# Process the results...
Run Code Online (Sandbox Code Playgroud)

我想通过发出多个并发请求来加快速度。我怎样才能实现这个目标?似乎curlRCurl都支持这一点,但我对HTTP 相当陌生,无法让任何一个解决方案工作。

curl r rcurl httr

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

使用 R 抓取“aspx”页面

有人可以帮助我或给我一些建议如何从这个网址抓取表格: https: //www.promet.si/portal/sl/stevci-prometa.aspx

我尝试使用说明和包rvesthttr 和 html但对于这个特定的站点没有任何成功。谢谢。

r web-scraping httr rvest

2
推荐指数
1
解决办法
1337
查看次数

使用 HTTR GET 请求从 github 下载 .csv 文件

我正在尝试使用HTTR包中的GET函数为位于 github 上的 csv 文件创建自动拉入 R。

这是我正在尝试下载的表格。

https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv

我可以使用以下 GET 请求连接到该文件:

library(httr)

x <- httr::GET("https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv")
Run Code Online (Sandbox Code Playgroud)

但是我不确定如何将其转换为类似于 github 上的表格的数据框。

任何帮助将不胜感激。

get httr

2
推荐指数
1
解决办法
2438
查看次数

标签 统计

httr ×10

r ×8

rvest ×5

web-scraping ×3

rcurl ×2

xml ×2

api ×1

curl ×1

geocoding ×1

get ×1

http-get ×1

json ×1

post ×1

shiny ×1