大量抓取2011-至今的天气预报数据, 并保存excel表。

抓取需要的数据并保存到excel表,需要大量数据做数据分析的可以看看。
话不多说上代码。

import requests
import time
import bs4
import openpyxl


headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'}
num = 10
diming = 'xiamen'     #  爬取的地名全拼
list_1 = []
for x in range(10): # 1为2011年,2为2012年
    num = num +1
    for q in range(12): # 1为爬取一个月,12为爬取12个月
        a = q+1
        if a <= 9:
            a = '0'+str(a)
        else:
            pass
        url = 'http://lishi.tianqi.com/'+diming+'/20'+str(num)+str(a)+'.html'
        res = requests.get(url,headers=headers)
        bs = bs4.BeautifulSoup(res.text,'html.parser')
        itm = bs.find('div',class_='tian_three').find('ul',class_='thrui').find_all('li')
        for itms in itm:
            day = itms.find('div',class_='th200').text
            day_1 = day[:-4]
            b = itms.find_all('div',class_='th140')[0].text
            c = b[:-1]
            b_1 = itms.find_all('div',class_='th140')[1].text
            c_1 = b_1[:-1]
            weather = itms.find_all('div',class_='th140')[2].text
            a = itms.find_all('div',class_='th140')[3].text
            list_1.append([day_1,c,c_1,weather,a])


wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = '天气预报'
sheet['A1'] = '日期'
sheet['B1'] = '最高气温'
sheet['C1'] = '最低气温'
sheet['D1'] = '天气'
sheet['E1'] = '风向'
for tim in list_1:
    sheet.append(tim)
wb.save(r'C:\\Users\\86130\\Desktop\\test\\大数据测试天气预报.xlsx')         

简洁易懂。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朝暮不归兮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值