基于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自定义函数的创建、调用和函数的参数详解
Mar 11 Python
Python网络爬虫实例讲解
Apr 28 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
Django uwsgi Nginx 的生产环境部署详解
Feb 02 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
Django框架 信号调度原理解析
Sep 04 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
May 26 Python
python爬虫基础知识点整理
Jun 02 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
scrapy中如何设置应用cookies的方法(3种)
Sep 22 Python
Django自定义YamlField实现过程解析
Nov 11 Python
python3 字符串str和bytes相互转换
Mar 23 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
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
php中创建和调用webservice接口示例
2014/07/25 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
extjs两个tbar问题探讨
2013/08/08 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
建筑结构施工专业推荐信
2014/02/21 职场文书
董事长秘书工作职责
2014/06/10 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
二人合伙经营协议书
2014/09/13 职场文书
售房协议书范本2014
2014/10/23 职场文书
报名委托书
2015/01/29 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
党小组评议意见
2015/06/02 职场文书
使用python绘制分组对比柱状图
2022/04/21 Python