每天大约11:30-12:30,瑞士政府都会发布新的日冕统计数据。我需要一个推送信息在我的手机上,一旦网站更新。
如果我在网站更新后运行它,我的脚本就可以工作了。但是当我在我的树莓派上计划它的时候,什么也没有发生。可能是政府网站在连接了一定数量后把我踢出去了,但我不知道这一点。此外,这很难尝试,因为网站每天只更新一次。对我在这里能做些什么有什么建议吗?
if (!require('tidyverse')) {install.packages('tidyverse')};library('tidyverse')
if (!require('rvest')) {install.packages('rvest')};library('rvest')
if (!require('pushoverr')) {install.packages('pushoverr')};library('pushoverr')
Datum <- Sys.Date()
BAG <- xml2::read_html('https://www.bag.admin.ch/bag/de/home/krankheiten/ausbrueche-epidemien-pandemien/aktuelle-ausbrueche-epidemien/novel-cov/situation-schweiz-und-international.html')
Tabelle_BAG <- BAG %>% html_nodes('#2030838475+ .mod-table th') %>% html_text()
Datum_BAG_Zeit <- Tabelle_BAG[1]
Datum_BAG_Zeit <- lubridate::dmy_h(Datum_BAG_Zeit)
Datum_BAG <- lubridate::date(Datum_BAG_Zeit)
while (Datum != Datum_BAG) {
BAG_loop <- xml2::read_html('https://www.bag.admin.ch/bag/de/home/krankheiten/ausbrueche-epidemien-pandemien/aktuelle-ausbrueche-epidemien/novel-cov/situation-schweiz-und-international.html')
Tabelle_BAG <- BAG %>% html_nodes('#2030838475+ .mod-table th') %>% html_text()
Datum_BAG_Zeit <- Tabelle_BAG[1]
Datum_BAG_Zeit <- lubridate::dmy_h(Datum_BAG_Zeit)
Datum_BAG <- lubridate::date(Datum_BAG_Zeit)
print('nope')
Sys.sleep(5)
}
Anzahl_Faelle <- BAG %>% html_nodes('#2030838475+ .mod-table tr:nth-child(1) td:nth-child(2)') %>% html_text()
text <- paste0('**Test** BAG meldet ', Anzahl_Faelle, ' Infektionen')
set_pushover_app(token='xxx')
pushover(message = text, user='xxx')
quit()发布于 2020-07-27 22:47:34
这只是一个猜测:
问题可能是web服务器或防火墙。
如果我是该网站的系统管理员,我不会允许来自同一IP客户端地址的无限TCP连接请求。
构建一个脚本,或者在网上找到一个脚本,它每隔10分钟请求一次您感兴趣的页面,然后看看会发生什么。
再见,恩里科·米格里奥尔
https://stackoverflow.com/questions/63117577
复制相似问题