基于python历史天气采集的分析


Posted in Python onFebruary 14, 2019

分析历史天气的趋势。

先采集

基于python历史天气采集的分析

基于python历史天气采集的分析

基于python历史天气采集的分析

代码:

#-*- coding:utf-8 -*-
import requests
import random
import MySQLdb
import xlwt
from bs4 import BeautifulSoup
user_agent=['Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36',
    'Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10',
    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER',
    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; QQBrowser/7.0.3698.400)',
    ]
headers={
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding': 'gzip, deflate, sdch',
'Accept-Language': 'zh-CN,zh;q=0.8',
'User-Agent': user_agent[random.randint(0,5)]}
 
myfile=xlwt.Workbook()
wtable=myfile.add_sheet(u"历史天气",cell_overwrite_ok=True)
wtable.write(0,0,u"日期")
wtable.write(0,1,u"最高温度")
wtable.write(0,2,u"最低温度")
wtable.write(0,3,u"天气")
wtable.write(0,4,u"风向")
wtable.write(0,5,u"风力")
 
db = MySQLdb.connect('localhost','root','liao1234','liao',charset='utf8')
cursor = db.cursor()
 
index = requests.get("http://lishi.tianqi.com/binjianqu/index.html",headers=headers)
html_index = index.text
index_soup = BeautifulSoup(html_index)
i = 1
for href in index_soup.find("div",class_="tqtongji1").find_all("a"):
  print href.attrs["href"]
 
 
  url = href.attrs["href"]
  r = requests.get(url,headers = headers)
  html = r.text
  #print html
  soup = BeautifulSoup(html)
  ss = []
  s = []
  for tag in soup.find("div",class_="tqtongji2").find_all("li"):
    print tag.string
    s.append(tag.string)
    if len(s) == 6:
      ss.append(s)
      s = []
  flag = 0
  for s in ss:
    if flag == 0:
      flag = 1
      continue
    else:
      sql = "insert into weather(old_date,hight,low,weather,wind,wind_power) values('%s','%s','%s','%s','%s','%s')"%(s[0],s[1],s[2],s[3],s[4],s[5])
      cursor.execute(sql)
      wtable.write(i,0,s[0])
      wtable.write(i,1,s[1])
      wtable.write(i,2,s[2])
      wtable.write(i,3,s[3])
      wtable.write(i,4,s[4])
      wtable.write(i,5,s[5])
      i += 1
myfile.save("weather.xls")
db.close()

以上这篇基于python历史天气采集的分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python修改Excel数据的实例代码
Nov 01 Python
使用Python的PEAK来适配协议的教程
Apr 14 Python
Python使用matplotlib绘制动画的方法
May 20 Python
python 实现上传图片并预览的3种方法(推荐)
Jul 14 Python
python实现监控某个服务 服务崩溃即发送邮件报告
Jun 21 Python
解决python中无法自动补全代码的问题
Dec 04 Python
解决Python3 控制台输出InsecureRequestWarning问题
Jul 15 Python
python批量解压zip文件的方法
Aug 20 Python
Pytorch 保存模型生成图片方式
Jan 10 Python
python3.7通过thrift操作hbase的示例代码
Jan 14 Python
Python验证码截取识别代码实例
May 16 Python
浅谈python量化 双均线策略(金叉死叉)
Jun 03 Python
Python 实现域名解析为ip的方法
Feb 14 #Python
解决python Markdown模块乱码的问题
Feb 14 #Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 #Python
情人节快乐! python绘制漂亮玫瑰
Aug 18 #Python
python实现全盘扫描搜索功能的方法
Feb 14 #Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 #Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 #Python
You might like
php环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
DropDownList控件绑定数据源的三种方法
2016/12/24 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
angularjs实现过滤并替换关键字小功能
2017/09/19 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
Vue触发式全局组件构建的方法
2018/11/28 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
python和shell变量互相传递的几种方法
2013/11/20 Python
python分析nignx访问日志脚本分享
2015/02/26 Python
python使用多线程不断刷新网页的方法
2015/03/31 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
如何在python中实现随机选择
2019/11/02 Python
jupyter notebook清除输出方式
2020/04/10 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
UNIX命令速查表
2012/03/10 面试题
就业协议书怎么填
2014/04/11 职场文书
奉献演讲稿范文
2014/05/21 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
教师演讲稿开场白
2014/08/25 职场文书
2014年个人师德工作总结
2014/12/04 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
乐山大佛导游词
2015/02/02 职场文书