基于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 抓取动态网页内容方案详解
Dec 25 Python
八大排序算法的Python实现
Jan 28 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
完美解决安装完tensorflow后pip无法使用的问题
Jun 11 Python
python 批量添加的button 使用同一点击事件的方法
Jul 17 Python
Python 函数list&read&seek详解
Aug 28 Python
Python中turtle库的使用实例
Sep 09 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
python画环形图的方法
Mar 25 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
如何利用pygame实现打飞机小游戏
May 30 Python
Python实现归一化算法详情
Mar 18 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
phpBB BBcode处理的漏洞
2006/10/09 PHP
php cookie 作用范围?不要在当前页面使用你的cookie
2009/03/24 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
2016/03/21 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
JS获取父节点方法
2009/08/20 Javascript
js Dialog 实践分享
2012/10/22 Javascript
运算符&&的三个不同层次
2013/04/07 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
wxPython窗口的继承机制实例分析
2014/09/28 Python
Python如何读取MySQL数据库表数据
2017/03/11 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
Python常见字典内建函数用法示例
2018/05/14 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
pycham查看程序执行的时间方法
2018/11/29 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
python怎么对数字进行过滤
2020/07/05 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
助学贷款贫困证明
2014/09/23 职场文书
给老婆道歉的话
2015/01/20 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
pytorch finetuning 自己的图片进行训练操作
2021/06/05 Python