当前位置:   article > 正文

可以爬取wind数据库吗_Python爬取天气数据及可视化分析!这是秋天该有的气温?...

windy 数据爬取

1.数据获取

请求网站链接

  • 首先查看中国天气网的网址:http://www.weather.com.cn/weather/101280701.shtml这里就访问本地的天气网址,如果想爬取不同的地区只需修改最后的101280701地区编号即可,前面的weather代表是7天的网页,weather1d代表当天,weather15d代表未来14天。这里就主要访问7天和14天的中国天气网。采用requests.get()方法,请求网页,如果成功访问,则得到的是网页的所有字符串文本。这就是请求过程。

02478797993374fae05c1b0bd537143c.png

提取有用信息

  • 这里采用BeautifulSoup库对刚刚获取的字符串进行数据提取,首先对网页进行检查,找到需要获取数据的标签:

355339d586c13821c4e7a9f1c890e961.png

  • 可以发现7天的数据信息在div标签中并且id=“7d”,并且日期、天气、温度、风级等信息都在ul和li标签中,所以我们可以使用BeautifulSoup对获取的网页文本进行查找div标签id=“7d”,找出

    包含的所有的ul和li标签,之后提取标签中相应的数据值,保存到对应列表中。这里要注意一个细节就是有时日期没有最高气温,对于没有数据的情况要进行判断和处理。另外对于一些数据保存的格式也要提前进行处理,比如温度后面的摄氏度符号,日期数字的提取,和

    风级

    文字的提取,这需要用到字符查找及字符串切片处理。

def get_content(html):

"""处理得到有用信息保存数据文件"""

final = []   # 初始化一个列表保存数据

bs = BeautifulSoup(html, "html.parser")  # 创建BeautifulSoup对象

body = bs.body

data = body.find('div', {'id': '7d'})    # 找到div标签且id = 7d

# 下面爬取当天的数据

data2 = body.find_all('div',{'class':'left-div'})

text = data2[2].find('script').string

text = text[text.index('=')+1 :-2] # 移除改var data=将其变为json数据

jd = json.loads(text)

dayone = jd['od']['od2'] # 找到当天的数据

final_day = []     # 存放当天的数据

count = 0

for i in dayone:

temp = []

if count <&

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/736639
推荐阅读
相关标签
  

闽ICP备14008679号