基于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中copy()方法的使用
May 21 Python
python实现简单socket通信的方法
Apr 19 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
python禁用键鼠与提权代码实例
Aug 16 Python
Python中使用socks5设置全局代理的方法示例
Apr 15 Python
Django如何使用redis作为缓存
May 21 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
Jun 03 Python
python dict乱码如何解决
Jun 07 Python
python 利用jieba.analyse进行 关键词提取
Dec 17 Python
利用Python将list列表写入文件并读取的方法汇总
Mar 25 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加密函数 Javascript/Js 解密函数
2013/09/23 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
php构造函数的继承方法
2015/02/09 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
php判断两个浮点数是否相等的方法
2015/03/14 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
详解微信小程序支付流程与梳理
2019/07/16 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
Python网络爬虫中的同步与异步示例详解
2018/02/03 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
中学教师管理制度
2014/01/14 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
好人好事演讲稿
2014/09/01 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
个人年终总结范文
2015/03/09 职场文书
关于python类SortedList详解
2021/09/04 Python
nginx七层负载均衡配置详解
2022/07/15 Servers