zoukankan      html  css  js  c++  java
  • Python小练习采集天气预报

    View Code
     1 #!/usr/bin/env python
     2 #coding=utf-8
     3 import urllib
     4 import re
     5 def gethtml(url):
     6     page = urllib.urlopen(url)
     7     html = page.read()
     8     page.close()
     9     return html
    10 def getweather(html):
    11     reg = '<a title=.*?>(.*?)</a>.*?<span>(.*?)</span>.*?<b>(.*?)</b>'
    12     weatherlist = re.compile(reg).findall(html)
    13     return weatherlist
    14 getml = gethtml('http://sd.weather.com.cn/index.shtml')
    15 list_all = getweather(getml)
    16 for i in list_all:
    17     print i[0],i[1],i[2]
    18 #    for item in i:
    19 #        print item

    代码很简单没什么好说的,主要就是正则匹配和乱码问题。
    抓下来的页面是utf-8的 但是由于findall返回的是列表 如果直接输出列表 列表中有字符串的话会有乱码。
    试过先转unicode再转gb2312也不可以。i.decode(‘utf-8′).encode(‘gb2312′)
    单个输出就没问题了。

    运行截图

  • 相关阅读:
    星球基地
    手机评价
    2018
    mongoDB(Window)
    linux
    【整理】Java 11新特性总结
    【整理】Java 10新特性总结
    【整理】Java 9新特性总结
    【整理】Java 8新特性总结
    Java -- 内部类(二)
  • 原文地址:https://www.cnblogs.com/timeship/p/2965882.html
Copyright © 2011-2022 走看看