首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从动态网站中提取所有实例的数据

从动态网站中提取所有实例的数据
EN

Stack Overflow用户
提问于 2019-10-11 13:42:28
回答 2查看 58关注 0票数 2

我试着从https://www.xercise4less.co.uk/find-a-gym/上收集所有健身房的数据。

在开发人员工具中,我找到了一个指向Web的指针,它应该将这些信息存储在https://www.xercise4less.co.uk/Umbraco/Api/FindAGymApi/GetAll下,但是当我在浏览器中运行它时,

'ObjectContent`1‘1’类型未能序列化内容类型'text/xml;charset=utf-8‘的响应体

同样,如果我运行以下代码:

代码语言:javascript
复制
# user_agent argument is optional here and results are the same whether I include it or not 
httr::GET('https://www.xercise4less.co.uk/Umbraco/Api/FindAGymApi/GetAll',  httr::user_agent("httr"))

对怎么做有什么想法吗?

或者,我可以(几乎)访问所有的健身房ID

代码语言:javascript
复制
library(rvest)
library(magrittr)

url <- "https://www.xercise4less.co.uk/find-a-gym/"
my_pg <- read_html(url) 
my_pg %>% html_nodes('select > option')

但是,我仍然不知道如何迭代所有的in,以获得完整的坐标/位置列表。谢谢你的指点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-11 19:23:28

您几乎在那里,您只需要设置正确的请求头预期服务器,然后你得到所有的信息为所有健身房。

代码语言:javascript
复制
library(httr)

headers = c('Accept'='application/json, text/javascript, */*; q=0.01')
r <- content(httr::GET(url = 'https://www.xercise4less.co.uk/Umbraco/Api/FindAGymApi/GetAll', httr::add_headers(.headers=headers)))
print(r)
票数 2
EN

Stack Overflow用户

发布于 2019-10-11 14:11:55

这段代码应该可以让您得到所需的东西,或者至少更接近它。我放弃了第二个例子。我可能会移除第一行。

代码语言:javascript
复制
final <- as.character(my_pg %>% html_nodes('select > option'))
df <- data.frame(do.call(rbind, strsplit(final, '>', fixed=TRUE)), stringsAsFactors = FALSE)
df$X1 <-sapply(strsplit(df$X1, '=', fixed=TRUE), "[", 2 )
df$X1 <- gsub('[\"]', '', df$X1)

df$X2 <-sapply(strsplit(df$X2, '<', fixed=TRUE), "[", 1 )


df = subset(df, select = -c(X3) )

输出

代码语言:javascript
复制
    X1                             X2
1 <NA>              Select a location
2 1104        Xercise4Less Bolton Gym
3 1248      Xercise4Less Bradford Gym
4 1249 Xercise4Less Brierley Hill Gym
5 1250       Xercise4Less Bristol Gym
6 1251       Xercise4Less Burnley Gym
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58342552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档