基于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小技巧分享
Nov 22 Python
以911新闻为例演示Python实现数据可视化的教程
Apr 23 Python
python访问类中docstring注释的实现方法
May 04 Python
Django中更新多个对象数据与删除对象的方法
Jul 17 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
Jul 02 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
Python 将pdf转成图片的方法
Apr 23 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
Jul 27 Python
python使用numpy读取、保存txt数据的实例
Oct 14 Python
python与字符编码问题
May 24 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
Python 分布式缓存之Reids数据类型操作详解
Jun 24 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面向对象编程快速入门
2006/10/09 PHP
php编写一个简单的路由类
2011/04/13 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
jquery popupDialog 使用 加载jsp页面的方法
2016/10/25 Javascript
详解Angular 4.x 动态创建组件
2017/04/25 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
2020/09/04 Javascript
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
python网络编程实例简析
2014/09/26 Python
基于python中staticmethod和classmethod的区别(详解)
2017/10/24 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
Python 占位符的使用方法详解
2019/07/10 Python
Python中包的用法及安装
2020/02/11 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
2021/02/02 Python
中国领先的专业演出票务网:永乐票务
2016/08/29 全球购物
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
创业计划书的主要内容有哪些
2014/01/29 职场文书
服务质量承诺书
2014/03/27 职场文书
个人工作主要事迹
2014/05/08 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
党员个人承诺书
2015/04/27 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
如何计划开一家便利店?
2019/07/31 职场文书
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS