玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python爬虫_Web网络爬虫_搜索引擎蜘蛛框架Spide > 正文内容

一个用Python编写抓取天气预报的代码示例

Python入门佳作 经典教程的全新修订 10个项目引人入胜
玩蛇网推荐图文教程:python黑客多线程扫描器

Python代码抓取获取天气预报信息源码讲解。这是一个用Python编写抓取天气预报的代码示例,用python写天气查询软件程序很简单。这段代码可以获取当地的天气和、任意城市的天气预报,原理是根据url找到网站截取相应的数据展现。

Python抓取天气预报源码中,需要用到的模块使用方法文章推荐:

1、Python sys模块常用方法图文详解
2、Python string模块字符串函数方法操作教程
3、Python re正则表达式操作指南
4、Python urllib2模块post/get下载网络资源

#!/usr/bin/env python
# 解释器路径

from HTMLParser import HTMLParser
import sys,urllib2,string,re
#导入使用方法模块

class HtmlParser(HTMLParser):
#定义一个类来完成这个功能

    def __init__(self):
        self.data=''
        self.readingdata=0
        HTMLParser.__init__(self)

    def handle_starttag(self,tag,attrs):
        if tag == 'td':
            self.readingdata=1

    def handle_data(self,chars):
        if self.readingdata:
            self.data+=chars

    def handle_endtag(self,tag):
        if tag=='td':
            self.readingdata=0

    def cleanse(self):
        self.data = re.sub('\s+',' ', self.data)

    def getdata(self):
        self.cleanse()
        return self.data

# this url is a place where you want to know the weather forecast
url="http://www.weather.com.cn/html/weather/101210501.shtml"

req=urllib2.Request(url)

fd=urllib2.urlopen(req)

tp=HtmlParser()

tp.feed(fd.read())

weather=tp.getdata()
# when you are getting a weather after parsering

# this weather string have 7 days weather forecast

#www.iplaypython.com

# the following if for my awesome format

weather=weather.split()

tag=[weather.index(i) for i in weather if '\xe6\x97\xa5' in i]
first=weather[:tag[1]]
second=weather[tag[1]:tag[2]]
if second[1]!=second[7]:second[1]+=' --> '+second[7]
second[2]=second[9]+' --> '+second[3]
second[0]=second[0][:-6]
second=second[:3]
third=weather[tag[2]:tag[3]]
if third[1]!=third[7]:third[1]+=' --> '+third[7]
third[2]=third[9]+' --> '+third[3]
third[0]=third[0][:-6]
third=third[:3]
weather=['    Weather:']+first+['|']+second+['|']+third

for i in weather:print i,

玩蛇网文章,转载请注明出处和来源网址:http://www.iplaypython.com/crawler/2659.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网PythonQQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
出炉日期:2015-12-28 21:15 玩蛇网 www.iplaypython.com

我要分享到:
上一篇:Python大学英语四六级考试CET查分实现方法
下一篇:没有了
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules