我正在尝试创建一个抓取程序,以获取有关冠状病毒病例数的更新,并且我正在使用以下页面。
当我给xpath给出确认的案例数时,它显示为“ 0”,而不是我检查Google Chrome的开发工具时页面上显示的真实数字。有人知道这是怎么回事吗?
library(rvest)
response = read_html('https://news.qq.com/zt2020/page/feiyan.htm', encoding = 'GBK')
response %>%
html_node(xpath = '//*[@id="charts"]/div[3]/div[1]')
{html_node}
<div class="icbar confirm">
[1] <div class="number">0</div>
[2] <div class="text">全国确诊</div>
答案 0 :(得分:1)
如@Marius所述,您可以从加载的JSON文件中获取数据。我从开发人员工具中获得了url
,以文本形式读取了html并得到了跟着"confirm"
的数字。
url <- 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=jQuery34108850961227842673_1580448523488&_=1580448523489'
library(rvest)
url %>%
read_html() %>%
html_text() %>%
stringr::str_match('confirm.*?(\\d+)') %>% .[,2] %>% as.integer()
#[1] 9731