1.python爬虫案例

在正式进行人工智能机器学习的开发之前,需要对数据进行处理
数据科学工作流程:需求(目标)->数据搜集->数据清洗->数据分析->构建模型->模型评估->应用部署

数据清洗:保证数据”干净”,数据质量高低决定了结果的准确性
缺失值,异常值,数据不一致,量纲,维度等等

2.爬虫 (搜索数据)
我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛,把网的节点比作一个个网页,爬虫爬到这就是相当于访问了该页面,获取其信息.
把节点间的连线比作网页与网页之间的链接关系,蜘蛛通过一个节点后顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可被蜘蛛全部爬行到,网站的数据就可被抓取下来
获取网页->提取信息->保存数据->自动化程序

搜索引擎
互联网上24小时都有爬虫程序在运行 通用爬虫程序
也有专用爬虫程序
爬虫是爬web服务器上数据(json/xml数据,网页,图片,音视频)

3. 目标:获取几年间天气数据
获取深圳2018年到2019 年17个月数据保存到excel表中

数据源 url
城市编码:59493 深圳
http://tianqi.2345.com/t/wea_history/js/201902/59493_201902.js
百度AI平台:
https://login.bce.baidu.com/?account=&redirect=http%3A%2F%2Fconsole.bce.baidu.com%2F%3Ffromai%3D1#/aip/overview
运行环境:pycharm,anaconda
程序源代码:


import requests #请求
import pandas as pd
import time
import re  #正则表达式 解析字符串 导入正则表达式的库
import random
'''         获取天气时间          '''
urls=[]
for year in range(2018,2019):for month in range(1,13):if(month<10):#59493urls.append("http://tianqi.2345.com/t/wea_history/js/%s0%s/54511_%s0%s.js"%(year, month, year, month))else:   #http://tianqi.2345.com/t/wea_history/js/20190101/59493_20190101.jsurls.append("http://tianqi.2345.com/t/wea_history/js/%s%s/54511_%s%s.js"%(year,month,year,month))
# print(urls)'''         获取天气具体数值          '''
# url='http://tianqi.2345.com/t/wea_history/js/201901/59493_201901.js'
headers={'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9,und;q=0.8,en;q=0.7','Cache-Control': 'max-age=0','Connection': 'keep-alive','User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
}WeatherCSV=[]
sum_time=0
# ymd:'2019-01-30',bWendu:'22℃',yWendu:'16℃',tianqi:'多云~阴',fengxiang:'东南风',
# fengli:'2级',      aqi:'40',aqiInfo:'优',aqiLevel:'1'},{ymd:'2019-01-31'
for url in urls:response=requests.get(url,headers=headers)times = random.randint(1,2)ymd = re.findall("ymd:'(.*?)',",response.text)bWendu = re.findall("bWendu:'(.*?)℃',",response.text)yWendu = re.findall("yWendu:'(.*?)℃',",response.text)tianqi = re.findall("tianqi:'(.*?)',",response.text)fengxiang = re.findall("fengxiang:'(.*?)',",response.text)fengli = re.findall("fengli:'(.*?)',",response.text)aqi = re.findall("aqi:'(.*?)',",response.text)aqiinfo = re.findall("aqiInfo:'(.*?)',",response.text)aqilevel = re.findall("aqiLevel:'(.*?)'}",response.text)time.sleep(times)#不定时爬虫,防止官网反爬封了你的上网权限sum_time+=timesWeatherCSV.append(pd.DataFrame({'ymd':ymd,'bWendu':bWendu,'yWendu':yWendu,'tianqi':tianqi,'fengxiang':fengxiang,'fengli':fengli,'aqi':aqi,'aqiInfo':aqiinfo,'aqiLevel':aqilevel}))print('%sS......'%str(sum_time))table=pd.concat(WeatherCSV)
table.to_csv('beijingWeather.csv',index=True)

运行结果:

python爬虫天气生成csv数据相关推荐

  1. python爬虫天气数据_python爬虫:天气数据的分析

    就在前几天还是二十多度的舒适温度,今天一下子就变成了个位数,小编已经感受到冬天寒风的无情了.之前对获取天气都是数据上的搜集,做成了一个数据表后,对温度变化的感知并不直观.那么,我们能不能用python ...

  2. 如何用python爬股票数据_python爬虫股票数据,如何用python 爬虫抓取金融数据

    Q1:如何用python 爬虫抓取金融数据 获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为 ...

  3. 从Python爬虫到Spark预处理数据的真实需求[四]

    絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...

  4. 从Python爬虫到Spark预处理数据的真实需求[三]

    絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...

  5. python爬虫(四)数据存储

    python爬虫(四)数据存储 JSON文件存储 JSON是一种轻量级的数据交换格式,它是基于ECMAScript的一个子集 JSON采用完全独立于语言的文本格式 JSON在Python中分别由lis ...

  6. Python爬虫爬取疫情数据并可视化展示

    这篇文章主要介绍了Python利用爬虫爬取疫情数据并进行可视化的展示,文中的示例代码讲解清晰,对工作或学习有一定的价值,需要的朋友可以参考一下.编程资料点击领取 目录 知识点 开发环境 爬虫完整代码 ...

  7. python爬虫实例——某二手车数据爬取

    某二手车网站数据爬取 要求: 找到所要爬取的网站网址(url): 今天案例的网址(url):https://www.guazi.com/gy/dazhong/o1/#bread. 观察网站,点开检查, ...

  8. python爬虫数据分析可以做什么-python爬虫爬取的数据可以做什么

    在Python中连接到多播服务器问题,怎么解决你把redirect关闭就可以了.在send时,加上参数allow_redirects=False 通常每个浏览器都会设置redirect的次数.如果re ...

  9. python中国大学排名爬虫写明详细步骤-Python爬虫--2019大学排名数据抓取

    Python爬虫--2019大学排名数据抓取 准备工作 输入:大学排名URL连接 输出:大学排名信息屏幕输出 所需要用到的库:requests,bs4 思路 获取网页信息 提取网页中的内容并放到数据结 ...

最新文章

  1. 线性矩阵不等式LMI的运用与Lipschitz非线性系统观测器的设计
  2. (三)WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理(核心)
  3. pandas读取csv文件,变换文件格式,并转换成numpy数组,取出数据
  4. linux下创建多进程,linux之多进程fork:进程创建
  5. CSharp之界面美化
  6. 《西线无战事》:合上书的那一刻:只想痛哭
  7. html表单中按钮添加超链接,JS 实现点击按钮实现超链接功能
  8. Windows下Java调用BAT批处理不弹出cmd窗口
  9. 20181211作业
  10. 6个座位办公室最佳位置_6个办公室座位的最佳位置 六个最好的办公室座位位置...
  11. 添加控件并处理事件(纯手写)
  12. linux上实现getch()函数
  13. 机器学习:HMM:基础
  14. QR码与DM码的对比
  15. 小学数学四年级上册计算机教案,四年级信息技术人教版上册教案
  16. UCI数据库Heart Disease数据集下载
  17. IDC:中国云计算市场超10亿 企业云火热
  18. 使用 ktra 搭建私人 Cargo registry
  19. windows10删除自带输入法
  20. python 发布文章,使用Python自动化发布文章:(一)

热门文章

  1. 简单理解低耦合高内聚
  2. Revit API Hook 之 拦截鼠标双击元素事件
  3. STM32CubeMX AI尝尝鲜
  4. 深入理解ReLU、Leaky ReLU、 PReLU、ELU、Softplus
  5. 进华为半年我都干了些啥
  6. 小白说代码——炼金术师
  7. tp5框架原理详解_tp5框架知识点
  8. splitter 控件
  9. 奥哲被曝将发布AI低代码平台,AIGC会改变低代码行业格局吗?
  10. vue修改滚动条样式