您的位置:

python天气查询简单,python打印今天天气

本文目录一览:

如何利用python爬取某个地方1年的天气

先要找到提供这个地方天气信息的网站

然后用firefox之类的浏览器分析

之后用python按分析的结果来提取所需要的数据

求助:用python获取天气预报

# 获取温度、湿度、风力等

WEATHER_URL_A = ""

# 获取天气状况、最大/小温度等

WEATHER_URL_B = ""

# 获取未来7天天气数据

WEATHER_URL_C = ""

URL里%s指城市对应的代码。详细参考:

不过这篇文章里有的接口已经不能用了。

上面我给的三个URL里,前两个直接返回json格式数据;第三个返回是一个页面,需要自己从页面里提取想要的信息。

python怎么自动抓取网页上每日天气预报

使用到了urllib库和bs4。bs4提供了专门针对html的解析功能,比用RE方便许多。

# coding : UTF-8import sys

reload(sys)

sys.setdefaultencoding( "utf-8" )from bs4 import BeautifulSoupimport csvimport urllibdef get_html(url):

html = urllib.urlopen(url) return html.read()def get_data(html_text):

final = []

bs = BeautifulSoup(html_text, "html.parser")

body = bs.body

data = body.find('div', {'id': '7d'})

ul = data.find('ul')

li = ul.find_all('li') for day in li:

temp = []

date = day.find('h1').string

temp.append(date)

inf = day.find_all('p')

temp.append(inf[0].string,) if inf[1].find('span') is None:

temperature_highest = None

else:

temperature_highest = inf[1].find('span').string

temperature_highest = temperature_highest.replace('C', '')

temperature_lowest = inf[1].find('i').string

temperature_lowest = temperature_lowest.replace('C', '')

temp.append(temperature_highest)

temp.append(temperature_lowest)

final.append(temp) return finaldef write_data(data, name):

file_name = name with open(file_name, 'a') as f:

f_csv = csv.writer(f)

f_csv.writerows(data)if __name__ == '__main__':

html_doc = get_html('')

result = get_data(html_doc)

write_data(result, 'weather.csv') print result12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152

运行结果保存在csv文件中

如何使用python利用api获取天气预报

你用的接口已经封掉了,试试这个:citykey=101210101

返回的数据是经过gzip压缩的,如果你用urllib,需要先把获取的二进制数据解压,再解码成字符串。用requests库就方便多了,包括编码都帮你自动解决,不需要自己操心。

顺便推荐Chrome的JSON-Handle插件,查看JSON非常方便。

python如何提取网页天气信息

bs4是可以提取的,因为你这一段里面出现的文字都是你要的,不存在剔除的考虑。

网页解析:要么使用bs4、要么使用bs4+re(正则),或者你可以使用以下PyQuery,这个也是用在网页爬虫解析页面的模块。

如果还是琢磨不出来,你把你这整个的html源码发上来,我搞搞,现在只看一段很难帮你