百度空间 | 百度首页 
 
查看文章
 
思恋天气项目爬虫完成
2008年11月12日 星期三 15:29
爬虫算是比较听话的那种,
常见的异常处理保证爬虫在数据异常后能按照指示继续运行
包含全国各个城市3000多地区的天气信息
细分条目包括:
气温
天气
风向
紫外线
穿衣指数
3天内天气预报
10天内天气预报
爬虫正常运行了2天未出错。

各城市地区信息正常
BLABLABLA....
还差PHP显示界面
手机客户端

等PHP显示界面完成后
大家就可以看到全国那个地区最冷哪里最热哪里风最大等哪里开始下雪了等等。
很有趣~
PS.爬虫是PYTHON+MYSQL,花了6个小时完成,代码2000行的样子






核心部门

default_code=sys.getdefaultencoding()
if default_code!="utf-8":
    print "please set default encode into utf8!"
    #exit()
   
def ClearStr(org,cleared="度",replaced=''):
    """清除杂质"""
    org=org.replace(cleared,replaced)
    return int(org)


def _GetPos(string,s):
    """获取特位置"""
    if string:
        return string.find(s)
    else:
        return False


def _GetStr(string,s,e):
    """获取给点条件的字符区间"""
    if string:
        _startPos=_GetPos(string,s)
        if (_startPos)>-1:
            _tmp=string[_startPos+len(s):]
            _endPos=_GetPos(_tmp,e)
            tmp=_tmp[:_endPos]
            tmp=tmp.strip()
            return tmp
        else:
            return False
    else:
        return False


def GetStr(str,s,e):
    return _GetStr(str,s,e)

def GetHtml(url):
        """抓取指定地址的网页内容,如果失败则返回False"""
        tmp=False
        try:
            f=urllib2.urlopen(url)
            tmp=f.read()
            f.close()
            return tmp
        except URLError, e:
            print e.reason
            return False

def GetContentByUrl(url,s,e):
    tmp=GetHtml(url)
    return _GetStr(tmp,s,e)

类别:Python | 添加到搜藏 | 浏览() | 评论 (3)
 
最近读者:
 
网友评论:
1
2008年11月17日 星期一 18:00 | 回复
老大,多展现一下代码啊, 学习学习
 
2
2008年11月17日 星期一 18:01 | 回复
utf8 字符的处理也是个大麻烦. 转GB2312,有些页面还老出错
 
3
2008年11月18日 星期二 13:49 | 回复
看我以前的文章,怎么转化编码
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu