爬虫算是比较听话的那种,
常见的异常处理保证爬虫在数据异常后能按照指示继续运行
包含全国各个城市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)