爬取历史天气数据

整体思路

我们进入天气网首页:http://lishi.tianqi.com/,选择想要查询的城市和月份,以北京2019年10月历史天气为例,注意链接地址的含义:http://lishi.tianqi.com/beijing/201709.html链接中的beijing代表地区,201709代表时间。也就是说我们可以通过控制这两个参数,跳转到任意地区和时间的历史天气状况页面。滚动页面,可以找到我们想要爬取的数据:
在这里插入图片描述

现在,我们已经有了大概的思路:

  • 先实现如何抓取某一特定页面的数据,例如广州市2017年9月的历史数据。
  • 通过控制地区和时间这两个参数,并利用1中的方法,实现多地区或多时间的历史天气数据抓取。

不难看出,我们的重点是如何解决第一个问题。只要把第一问中的方法包装成函数,就可以通过调节参数解决第二个问题。

抓取特定页面的数据

首先用paste0将链接拼接起来

baseUrl <- 'http://lishi.tianqi.com/'
Url <- paste0(baseUrl, city, '/', date, '.html', sep = '')
Url

我们需要在浏览器中调试js代码,chrome中按F12即可查看。通过搜索关键字:日期,最高气温 …任何一个都行,得到以下信息。可以发现我们所需要的数据都在<div class="lishitable">盒子中,而每一行数据又都在ul中。所以,我们可以通过这两个特征来提取数据。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200221113847396.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDI2MjE5Ng==,size_16,color_FFFFFF,t_70


                
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值