最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

python解析中国天气网的天气数据

来源:懂视网 责编:小采 时间:2020-11-27 14:30:10
文档

python解析中国天气网的天气数据

python解析中国天气网的天气数据:使用方法:terminal中输入 代码如下:python weather.py http://www.weather.com.cn/weather/101010100.shtml 北京6天的天气数据 json格式 代码如下:#coding=utf-8 #weather.py import urllib import re impo
推荐度:
导读python解析中国天气网的天气数据:使用方法:terminal中输入 代码如下:python weather.py http://www.weather.com.cn/weather/101010100.shtml 北京6天的天气数据 json格式 代码如下:#coding=utf-8 #weather.py import urllib import re impo

使用方法:terminal中输入
代码如下:

python weather.py http://www.weather.com.cn/weather/101010100.shtml

北京6天的天气数据 json格式

代码如下:

#coding=utf-8
#weather.py
import urllib
import re
import simplejson
import sys

if len(sys.argv) != 2:
print 'please enter: python ' + sys.argv[0] + ' '
exit(0)
url = sys.argv[1];
def readurlPageContent(url):#获取页面的所有数据 逐行读取
webpage = urllib.urlopen(url);
line = webpage.readline();
data = ''
while line:
data = data + line.strip(); #去除每行两边的的空格
line = webpage.readline();
return data

def getDatabody(data):
reg = re.compile(r'((?:(?!)');
matchs = reg.findall(data,re.I);
if len(matchs) > 0:
return matchs[0]
return None

def getSixDayWeather(data):
regs = re.compile(r'>((?:(?!<)(?!>)(?!var).)+)<');
datas = regs.findall(data)
if len(datas) > 12:
datas = datas[12:len(datas)-7];#提取其中的78项 即后面6天的天气数据 每天相关的信息有13个

return datas
return None


data = readurlPageContent(url);
match_data = getDatabody(data)
if match_data == None :
print 'get weather data fail'
exit(0)

weathers_data = getSixDayWeather(match_data)
if weathers_data == None:
print 'get six day info fail'
exit(0)

count = len(weathers_data);
groups_item_count = count / 6;
weathers = {};
groups = [];

start = 0
for item in weathers_data :
if (start % groups_item_count) == 0:
groups = [];
weathers[('day'+str(start/groups_item_count + 1))] = groups;

groups.append(item)
start = start + 1


print simplejson.dumps(weathers, encoding='UTF-8', ensure_ascii=False)

注:本文中使用了第三方JSON库simplejson,安装方法参考下面:
1.下载:http://pypi.python.org/pypi/simplejson/ ,文件为压缩文件
2.解压:可以直接右键:解压文件.例如:D:/simplejson
3.开始---运行---输入命令:cmd
4.进入到目录(如:D:/simplejson)
代码如下:

cd D:/simplejson


5.运行安装文件:setup.py install

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

python解析中国天气网的天气数据

python解析中国天气网的天气数据:使用方法:terminal中输入 代码如下:python weather.py http://www.weather.com.cn/weather/101010100.shtml 北京6天的天气数据 json格式 代码如下:#coding=utf-8 #weather.py import urllib import re impo
推荐度:
标签: 数据 天气 解析
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top