【问题标题】:RSelenium - Web Scraping - Zepp - Personal Soccer DataRSelenium - 网页抓取 - Zepp - 个人足球数据
【发布时间】:2021-03-19 11:05:18
【问题描述】:

我有一个足球应用程序,可以在我比赛时跟踪我的数据 - 但是我想要一种自动收集这些数据的方式。

这是我试图抓取的页面示例,尽管我似乎在使用 RSelenium 方面没有取得任何进展。

我能够进行初步联系,并获得页面的标题,但似乎无法抓住除此之外的任何内容。

library(RSelenium)
remDr <- remoteDriver(remoteServerAddr = "127.0.0.1",
                      port = 4445L)
remDr$open(silent = TRUE)

remDr$navigate("http://sport.zepp.com/soccer/game?id=602f7c549c05de4254619ce2&uid=602dfa34286a8427b94ef43d")
remDr$getTitle()

我至少希望能够跟踪页面顶部附近 3.18m 的“距离”度量。 有没有人能给我一个可行的例子来说明我如何做到这一点?最终,我希望能够获得页面的其余部分。

【问题讨论】:

    标签: r web screen-scraping rselenium


    【解决方案1】:

    以下可能的解决方案。

    library(RSelenium)
    driver <- rsDriver(browser=c("firefox"), port = 4445L)
    remote_driver <- driver[["client"]]
    
    remote_driver$navigate("http://sport.zepp.com/soccer/game?id=602f7c549c05de4254619ce2&uid=602dfa34286a8427b94ef43d")
    DISTANCE<-remote_driver$findElement(using = 'css selector', value = 'div.ct-container:nth-child(1) > div:nth-child(2) > div:nth-child(2)')$getElementText()
    print(DISTANCE)
    [[1]]
    [1] "5125"
    
    KICKS<-remote_driver$findElement(using = 'css selector', value = '#SoccerGameApp > div > div:nth-child(2) > div:nth-child(2) > div > div:nth-child(2) > div > div.flt_r.ct-h-r')$getElementText()
    print(KICKS)
    [[1]]
    [1] "21"
    
    SPRINTS<-remote_driver$findElement(using = 'css selector', value = '#SoccerGameApp > div > div:nth-child(2) > div:nth-child(2) > div > div:nth-child(3) > div > div.flt_r.ct-h-r')$getElementText()
    print(SPRINTS)
    [[1]]
    [1] "17"
    

    【讨论】:

    • 谢谢!太好了,它完全有效!如果您认为有可能更进一步并获取图表本身背后的数据,请告诉我!我会在自己的时间进行实验,然后发布我从这个练习中收集到的任何其他内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    相关资源
    最近更新 更多