py新手,看着别人写了一个抓数据,遇到的问题是再内部循环中的结果result是正确的,最外部的结果只有内部的最后一个
# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
#抓取历史天气
#author wx
#param year 年
#param month 月
def weaFetch(year,month):
#初始化结果
result = {}
#初始话url
url = 'http://lishi.tianqi.com/beijing/'
#加入年月得到完整的url
resultUrl = url + year + month + '.html'
#得到页面
res = requests.get(resultUrl)
soup = BeautifulSoup(res.text,'html.parser')
#找到要抓的内容位置
data = soup.find('div', {'class': 'tqtongji2'})
#内容集
ul = data.find_all('ul')
#每天的天气内容
for day in ul[1:]:
li = day.find_all('li')
for daydata in li:
#日期
result['date'] = li[0].string
#最高温度
result['higntemp'] = li[1].string
#最低温度
result['lowtemp'] = li[2].string
#天气
result['weather'] = li[3].string
#风向
result['wind'] = li[4].string
#风力
result['windlevel'] = li[5].string
#print(result)
#print(result)
#print(result)
return result