luck20121221 发表于 2022-11-18 15:58

python 抓取一个月天气脚本

#抓取历史天气的代码自己可以更改

#提取excel会多一行排序自己删除python记得添加库不然不能运行



import timeimport pandas as pd
import requests
import xlwt
from bs4 import BeautifulSoup

headers = {
    'User-Agent': 'Mozilla/5.0'}
url = "http://lishi.tianqi.com/haikou/202210.html"#修改url可获取不同城市的历史天气   不同城市改拼音就可以时间202210改这个年月
weather_str = requests.get(url, headers=headers)# 获取数据
weather_str_content = weather_str.content# 赋值
# print(weather_str_content)
soup = BeautifulSoup(weather_str_content, 'html.parser')# 解析数据html可以用xlwt' 解析
soup_ul = soup.find('ul', class_='thrui')# html页面获取polt
# print(soup_ul)
# 提取数据
soup_li_list = soup_ul.find_all("li")# 获取全部的第2层
weather_time1, weather_data1, max_tem1, min_tem1, weather_win1, soup_win1 = [], [], [], [], [], []# 统一命名
for i in soup_li_list[0:]:# 循环外框数据取得一个数值
    # 天气
    weather_data = i.text.split()# 将循环列表提取只提取文本信息
    # print(weather_data)
    weather_time1.append(''.join(weather_data[0]))
    weather_data1.append(''.join(weather_data[1:2]))
    max_tem1.append(''.join(weather_data[2:3]))
    min_tem1.append(''.join(weather_data[3:4]))
    weather_win1.append(''.join(weather_data[4:5]))
    soup_win1.append(''.join(weather_data[5:7]))
weather_list1 = pd.concat = (, weather_data1, max_tem1, min_tem1, weather_win1, soup_win1])
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("beijing")
sheet.data = pd.DataFrame()
sheet.data['年月'] = weather_time1
sheet.data['星期'] = weather_data1
sheet.data['最高气温'] = max_tem1
sheet.data['最低气温'] = min_tem1
sheet.data['天气'] = weather_win1
sheet.data['风向'] = soup_win1
# aa = DataFrame = pd.DataFrame()
print(sheet.data)
sheet.data.to_excel("{}一个月{}.xls".format("重庆", time.time()))# 只用于pd.dataframesheet显示城市更改这里

zwj003 发表于 2022-11-18 17:12

不错,我最近也在学

Aminx520 发表于 2022-11-18 18:11

学习学习,测试了一下   老铁没毛病

AB12315 发表于 2022-11-18 18:59

{:1_893:}感谢分享,学无止境。

hayreddin 发表于 2022-11-18 21:40

学习一下,感谢分享!

tywolf 发表于 2022-11-18 21:43

不用xlwt,直接pd.to_csv不香吗?

海是倒过来的天 发表于 2022-11-18 21:53

下次编辑进代码编辑器中

xlxl199609 发表于 2022-11-18 22:41

感谢分享!学习

Ghy410 发表于 2022-11-18 23:42

不错我也在学Java

zhk328 发表于 2022-11-19 00:05

高手,易错,自己真写不下来
页: [1] 2
查看完整版本: python 抓取一个月天气脚本