基于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 第一步 hello world
Sep 25 Python
python实现跨文件全局变量的方法
Jul 07 Python
RC4文件加密的python实现方法
Jun 30 Python
python3制作捧腹网段子页爬虫
Feb 12 Python
Python3.6笔记之将程序运行结果输出到文件的方法
Apr 22 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
pip install python 快速安装模块的教程图解
Oct 08 Python
python验证码图片处理(二值化)
Nov 01 Python
python爬虫爬取监控教务系统的思路详解
Jan 08 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 Python
python re.match()用法相关示例
Jan 27 Python
浅谈Python数学建模之线性规划
Jun 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
phpcms中的评论样式修改方法
2016/10/21 PHP
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
Jquery下的26个实用小技巧(jQuery tips, tricks & solutions)
2010/03/01 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
在vue.js中抽出公共代码的方法示例
2017/06/08 Javascript
详解vue服务端渲染(SSR)初探
2017/06/19 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
python格式化字符串实例总结
2014/09/28 Python
Python生成器(Generator)详解
2015/04/13 Python
Python中isnumeric()方法的使用简介
2015/05/19 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
python如何判断IP地址合法性
2020/04/05 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
英国儿童图书网站:Scholastic
2017/03/26 全球购物
美国保健品专家:Life Extension
2018/05/04 全球购物
Linux Interview Questions For software testers
2013/05/17 面试题
优秀实习自我鉴定
2013/12/04 职场文书
会计电算化大学生职业规划书
2014/02/05 职场文书
社区义诊活动总结
2014/04/30 职场文书
公司授权委托书范本
2014/09/18 职场文书
考研英语辞职信
2015/05/13 职场文书
董事会决议范本
2015/07/01 职场文书
村官2015年度工作总结
2015/10/14 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书