基于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查询Mysql时返回字典结构的代码
Jun 18 Python
python字典排序实例详解
May 20 Python
Python的装饰器模式与面向切面编程详解
Jun 21 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
python使用scrapy发送post请求的坑
Sep 04 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
Jun 04 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
Python中的延迟绑定原理详解
Oct 11 Python
tornado+celery的简单使用详解
Dec 21 Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 Python
Python pandas对excel的操作实现示例
Jul 21 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 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
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
深入php socket的讲解与实例分析
2013/06/13 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
2014/06/13 PHP
php实现给图片加灰色半透明效果的方法
2014/10/20 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
jquery 指南/入门基础
2007/11/30 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
2017/02/22 Javascript
用最少的JS代码写出贪吃蛇游戏
2018/01/12 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
用js编写留言板
2020/03/17 Javascript
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
Python实现线程状态监测简单示例
2018/03/28 Python
python的常用模块之collections模块详解
2018/12/06 Python
解决新django中的path不能使用正则表达式的问题
2018/12/18 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
开办加工厂创业计划书
2014/01/03 职场文书
学生自我评价范文
2014/02/02 职场文书
小学家长评语大全
2014/04/16 职场文书
超市店庆活动方案
2014/08/31 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
2014年科协工作总结
2014/12/09 职场文书
2014年稽查工作总结
2014/12/20 职场文书
社区服务理念口号
2015/12/25 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python