python 爬取历史天气


官网:http://lishi.tianqi.com/luozhuangqu/201802.html

# encoding:utf-8
import requests
from bs4 import BeautifulSoup
import pymysql
import pandas as pddate_list = [x.strftime('%Y%m') for x in list(pd.date_range(start='2016-09', end='2018-09', freq="m"))]
url_str = "http://lishi.tianqi.com/"
# citys = ["苍山", "费县", "河东区", "莒南", "临沭", "兰山市", "罗庄区", "蒙阴", "平邑", "郯城", "沂南", "沂水"]
# city_code = ["cangshan", "feixian", "hedong", "junan", "linshu", "lanshan", "luozhuangqu", "mengyin", "pingyi",
#              "tancheng", "yinan", "yishui"]

city_code = ["yishui"]urls = []
# url拼接
for city in city_code:for date_item in date_list:url = url_str + city + "/" + date_item + ".html"urls.append(url)# 数据爬取
for url in urls:response = requests.get(url)soup = BeautifulSoup(response.text, 'html.parser')weather_list = soup.select('div[class="tqtongji2"]')for weather in weather_list:weather_date = weather.select('a')[0].string.encode('utf-8')ul_list = weather.select('ul')for ul in ul_list[1:]:li_list = ul.select('li')tCity = "沂水"tDate = li_list[0].stringtTopTem = li_list[1].stringtLowTem = li_list[2].stringtWeather = li_list[3].stringtWindDir = li_list[4].stringtWindPower = li_list[5].string# 数据库存储conn = pymysql.connect(host='localhost', user='root', passwd='123456', database='weather',charset='utf8')  # 链接数据库cursor = conn.cursor()  # 获得游标# 向数据库添加数据的SQL语句sql = "insert into mWeather (mCity,mDate,mTopTem,mLowTem,mWeather,mWindDir,mWindPower) values ('%s','%s','%s','%s','%s','%s','%s')" \% (tCity, tDate, tTopTem, tLowTem, tWeather, tWindDir, tWindPower)cursor.execute(sql)  # 执行conn.commit()  # 提交添加数据的命令
            cursor.close()conn.close()print(tCity + "  城市  " + tDate + " 数据  -----   爬取成功!")


转载于:https://www.cnblogs.com/wjw1014/p/9691204.html

python 爬取历史天气相关推荐

  1. python爬取历史天气_Python 爬取历史天气数据

    Python 爬取历史天气数据 作者:梅昊铭 1. 导读 之前Mo给大家分享过杭州历年天气情况的数据集,相信有不少小伙伴好奇这些数据是怎么获取.今天Mo就来教大家如何使用Python来进行历史天气数据 ...

  2. python爬取历史天气查询_Python爬取南京历史天气数据(2345天气网)

    最近学习了如何在2345天气网上爬取历史天气数据,并使用pandas库对数据进行清洗和导出.不过,本文方法对其它网站并不一定适用,主要是记录一种思考的方式. 南京的历史天气数据在这个网站上:http: ...

  3. python爬取历史天气数据

    爬取历史天气数据 import requests from requests.exceptions import RequestException from bs4 import BeautifulS ...

  4. 用python爬取历史天气数据

    某天气网站(www.数字.com)存有2011年至今的天气数据,有天看到一本爬虫教材提到了爬取这些数据的方法,学习之,并加以改进. 准备爬的历史天气 爬之前先分析url.左上有年份.月份的下拉选择框, ...

  5. python爬取天气数据_用python爬取历史天气数据的方法示例

    某天气网站(www.数字.com)存有2011年至今的天气数据,有天看到一本爬虫教材提到了爬取这些数据的方法,学习之,并加以改进. 准备爬的历史天气 爬之前先分析url.左上有年份.月份的下拉选择框, ...

  6. python爬取历史天气数据并保存_Python爬取天气网历史天气数据

    我的第一篇博客,哈哈哈,记录一下我的Python进阶之路! 今天写了一个简单的爬虫. 使用python的requests 和BeautifulSoup模块,Python 2.7.12可在命令行中直接使 ...

  7. python爬取历史天气查询_Python爬虫实战-爬取历史天气数据

    最近项目需要对合肥市历史天气数据进行爬取,分析了几个天气数据网站,最终选择天气后报网站. 将实现过程遇到的问题以及下来,供以后参考. 步骤分析 这里我使用的是Python中的requests库Beau ...

  8. python爬取历史天气

    利用python的爬虫语言,来进行对天气网址的历史最高气温进行爬取. 由于自己技术并不高,所以采用的还是切片处理所抓取的文件. PS:在对爬取时,为防止短时间内多次对对方服务器多次请求,而造成困扰,我 ...

  9. python爬取历史天气查询_历史天气爬取

    历史天气爬取 爬取来源:2345天气网 爬取周期:月度,可自行更改 爬取城市:部分城市,可自行更改 具体代码: import requests import demjson import csv li ...

  10. 如何使用Python爬取历史天气信息

    事情起因,是今天我们老师布置了一份作业 叫我们去爬取呼和浩特的天气情况 ,首先对于老师的描述 ,我自我把信息过滤了一下 我这边只爬取到了9.30号的日期 因为 对于后面的控制 会增大我代码的的复杂度 ...

最新文章

  1. 不要依赖代码中的异常
  2. MPlayer1.1.1移植记录
  3. WebStorm笔记-配置js的webpack识别alias(别名)
  4. 用git上传自己的第一个github项目
  5. Java基础面试题,啾啾啾~~~
  6. 实现弹出窗口提示_AX
  7. RQNOJ 能量项链
  8. 机器语言入门 w3c,编程语言
  9. 提示 使用驱动器D:中的光盘之前需要将其格式化
  10. JS简单总结(前端ES6和JQ)
  11. 僵尸网络(botnet) DDoS
  12. 窃听手机执法如何保存隐私
  13. 【10个精品网站】找素材、找图片、PDF在线工具、免费图片降噪修复、免费可商用字体、PPT模板
  14. 只需要MTK工程的bin文件、手机和下载线便可以修改各种手机软件
  15. 第4章 计算机网络自顶向下——网络层:数据平面
  16. modbus rtu 调试软件_一文最全解读Modbus 的RTU、ASCII、TCP
  17. ElementUI 的组件 Switch(开关)如何让文字显示在按钮上
  18. TC工具 模拟Linux网卡限速、丢包
  19. Python编程:从入门到实践第六章读书笔记6.3遍历字典
  20. HDU2549-壮志难酬

热门文章

  1. JAVA中,如果发现一个值起作用,却又没找到哪里使用,检查一下是否有native/JNI中反射
  2. 随便一个人就能干预大选?
  3. 如何制作deb/rpm通用的构建命令?
  4. 不存在理想中的那种单元测试
  5. .net 编译工具_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实
  6. sae java 开发环境_SAE本地环境与真实环境的差别
  7. C++ char/byte 转16进制字符串
  8. 使用lockcop软件检测c++死锁
  9. C++11 外部模板
  10. linux补丁服务,Linux补丁程序管理_补丁工具 _ ManageEngine Desktop Central