爬虫:抓取某年某月某日某地的天气信息

爬虫:抓取某年某月某日某地的天气信息


1、解析URL   
由天气网 历史天气查询链接:http://lishi.tianqi.com/beijing/201412.html

url 可为http://' + address1 + '.tianqi.com/' + date1 + '.html

2、根据网页源码,编码不是UTF-8,因此不能直接使用json

具体代码如下:


# -*- coding:utf-8 -*-
import urllib2
import os

# 抓取网页内容,并存入临时txt


def get_web_page(address1, date1):
    url = 'http://' + address1 + '.tianqi.com/' + date1 + '.html'
    page = urllib2.urlopen(url).read()
    page_content = page[:7330].decode('GB2312').encode('utf-8')
    f = open('temp.txt', 'w')
    f.write(page_content)
    f.close()
    return

# 处理txt,返回结果,并删除临时txt


def deal_page():
    f = open('temp.txt', 'r')
    for i in range(6):
        f.readline()
    result = f.readline()
    site = result.index(',') + 3
    result = result[site:]
    site = result[:-1].index('"')
    f.close()
    os.remove('temp.txt')
    return result[:site]


if __name__ == '__main__':
    address = input(u"请用拼音输入您查询的地点(如'luoyang')")
    date = input(u"请输入您查询的日期(如'20170228'最早只能查询到2012年4月1日)")
    get_web_page(address, date)
    print u'以下是您输入条件的天气情况,如有误请在地点名称后加1,再次查询'
    print deal_page()


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值