天气网北京历史天气链接页:https://lishi.tianqi.com/beijing
library(tidyverse)
library(rvest)
从网页解析出来 url
postfix = read_html("https://lishi.tianqi.com/beijing/index.html") %>%
html_elements("a") %>%
html_attr("href") %>% # 解析网址
str_subset("^/beijing") # 筛选出正确的
urls = str_c("http://lishi.tianqi.com/", postfix)
urls[1:10]
从网页解析历史天气数据
weather = read_html(urls[1]) %>% # 2022年11月
html_nodes(".thrui") %>%
html_text2()
weather
结果是一个大字符串,犹如乱码。
借助正则表达式+tidyverse,清洗成整洁数据框
分割成多行,一个样本一行
每一行再分割成多列
tibble(weather) %>%