gpt4 book ai didi

r - 抓取需要点击按钮的网站

转载 作者:行者123 更新时间:2023-12-04 20:02:08 24 4
gpt4 key购买 nike

我想刮 this website .不幸的是,我想使用 rvest 抓取的数据隐藏在按钮(加号)后面。

我试着用 rvest 包来做,我使用以下代码:

library(rvest)
url <- 'https://transparency.entsoe.eu/generation/r2/actualGenerationPerGenerationUnit/show?name=&defaultValue=true&viewType=TABLE&areaType=BZN&atch=false&dateTime.dateTime=17.03.2017+00:00|UTC|DAYTIMERANGE&dateTime.endDateTime=17.03.2017+00:00|UTC|DAYTIMERANGE&area.values=CTY|10YBE----------2!BZN|10YBE----------2&productionType.values=B02&productionType.values=B03&productionType.values=B04&productionType.values=B05&productionType.values=B06&productionType.values=B07&productionType.values=B08&productionType.values=B09&productionType.values=B10&productionType.values=B11&productionType.values=B12&productionType.values=B13&productionType.values=B14&productionType.values=B15&productionType.values=B16&productionType.values=B17&productionType.values=B18&productionType.values=B19&productionType.values=B20&dateTime.timezone=UTC&dateTime.timezone_input=UTC&dv-datatable_length=100'

htmlpage <- html_session(url) %>%
read_html() %>%
html_nodes(".dv-value-cell") %>>%
html_table()

“.dv-value-cell”是使用 SelectorGadget(在 rvest 的 vignettes 之一中)从网站中提取的。

但是,在我可以使用此代码之前,我仍然需要打开加号菜单。单击按钮之前,此子表中的数据不存在。因此,上面的代码将返回一个空值。

我使用了 this question 中描述的 Chrome 网络开发工具监视单击按钮时发生的情况。根据该信息,我看到有对以下网址的请求(缩短为仅突出显示与原始网址的区别):
https://transparency.entsoe.eu/...&dateTime.timezone_input=UTC&dv-datatable-detail_22WAMERCO000010Y_22WAMERCO000008L_length=10&dv-datatable_length=50&detailId=22WAMERCO000010Y_22WAMERCO000008L

如您所见,这是原始 url,但还有一个小的额外请求。但是,当我在浏览器中尝试此 url 时,它没有显示所需的结果。我一定错过了网站另外通过的东西。

根据 Chrome,此请求的结果正是我要查找的数据(右键单击 > 复制 > 复制结果)。所以应该有一种方法可以下载这个特定的数据。

我还找到了 this question关于一个类似的问题,但不幸的是,该解决方案对于这种情况非常具体,并且没有给出一般性解释。

如何重现此浏览器请求,以便我收到相同的表?

最佳答案

如果您不是要废弃大量数据。我会建议你使用 selenium .使用 Selenium 实际上您可以单击按钮。您可以从 scrapping with R programming and selenium 开始.
你也可以使用 PhantomJS。它也类似于 selenium,但不需要浏览器。
我希望其中之一会有所帮助。

关于r - 抓取需要点击按钮的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42983649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com