基于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中的join()方法的使用
May 19 Python
Python常用算法学习基础教程
Apr 13 Python
基于python select.select模块通信的实例讲解
Sep 21 Python
python 删除列表里所有空格项的方法总结
Apr 18 Python
Python中使用遍历在列表中添加字典遇到的坑
Feb 27 Python
python Opencv计算图像相似度过程解析
Dec 03 Python
jupyter 导入csv文件方式
Apr 21 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
Aug 17 Python
详解Python中如何将数据存储为json格式的文件
Nov 18 Python
django中ImageField的使用详解
Dec 21 Python
Jupyter Notebook内使用argparse报错的解决方案
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通过strpos查找字符串出现位置的方法
2015/03/17 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
生成二维码方法汇总
2014/12/26 Javascript
javascript实用方法总结
2015/02/06 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
详解vuejs之v-for列表渲染
2017/06/22 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
python使用百度翻译进行中翻英示例
2014/04/14 Python
Python之eval()函数危险性浅析
2014/07/03 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
python动态性强类型用法实例
2015/05/09 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
2020/02/28 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
施华洛世奇巴西官网:SWAROVSKI巴西
2019/12/03 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
淘宝店铺营销方案
2014/02/13 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
生产车间标语
2014/06/11 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书