python爬虫学习爬虫(爬取指定网站数据)

  1. Python实现对主要城市及其周边地区天气数据的爬取,关键步骤已经做了注释此版本仅是初学者的学习版,不喜勿喷
#coding: utf-8
import re
from urllib import request
from bs4 import BeautifulSoup
#将要爬取的城市及其对应的链接存于不同的列表
cityLink=['http://www.weather.com.cn/weather1d/101270101.shtml#input','http://www.weather.com.cn/weather1d/101010100.shtml#input','http://www.weather.com.cn/weather1d/101020100.shtml#input','http://www.weather.com.cn/weather1d/101280101.shtml#input','http://www.weather.com.cn/weather1d/101210101.shtml#input','http://www.weather.com.cn/weather1d/101200101.shtml#input','http://www.weather.com.cn/weather1d/101190101.shtml#input','http://www.weather.com.cn/weather1d/101280601.shtml#input','http://www.weather.com.cn/weather1d/101190401.shtml#input','http://www.weather.com.cn/weather1d/101230201.shtml#input','http://www.weather.com.cn/weather1d/101220101.shtml#input',]
cityName=['成都','北京','上海','广州','杭州','武汉','南京','深圳','苏州','厦门','合肥']
#获得链接对应的网页内容
def getSoup(url):    rsp = request.urlopen(url)content = rsp.read()soup = BeautifulSoup(content,'html.parser')return soup
#获取地区
def getArea(Soup):Area_list=[]UL_Tag=Soup.find_all('ul',class_="clearfix city") for each_LI in UL_Tag:txtLI=each_LI.find_all('li')for eachA in txtLI:txtArea=eachA.find_all('span')for eachs  in txtArea:            #筛选出地方aroundArea=eachs.stringArea_list.append(aroundArea)return Area_list
#获取温度字符串
def getTemprature(Soup):Temprature_list=[]UL_Tag=Soup.find_all('ul',class_="clearfix city") #从包含周边城市地区及其温度的ul标签逐层向里,获取地区名和温度for each_LI in UL_Tag:txtLI=each_LI.find_all('li')for eachA in txtLI:txtTemperature=eachA.find_all('i')for eachsI in txtTemperature:Temprature=eachsI.stringTemprature_list.append(Temprature)  return Temprature_list
def Main():# 从字符串找获得数字的正则表达,可以匹配整数,负数pattern = re.compile(r'[\-|0-9][0-9]*')  print("城市  周边地区     最低温度  最高温度")#将城市链接列表的每个城市,做爬取信息操作for i in range(0,len(cityLink)):soup=getSoup(cityLink[i])Area_list=getArea(soup)   #得到地区列表Temprature_list=getTemprature(soup)   #得到温度字符串列表Max_temprature=[]Mini_temprature=[]for j in range(len(Temprature_list)):#将获得的最高温度和最低温度存于列表中temp_list=pattern.findall(Temprature_list[j])#由于网页在夜间和白天的数据显示格式不同,#用small和min函数消除网页内容变化对爬取数据的影响big=max(int(temp_list[0]),int(temp_list[1])) small=min(int(temp_list[0]),int(temp_list[1]))Max_temprature.append(big)Mini_temprature.append(small)#打印输出for k in range(len(Area_list)):print("{:^}\t{:<}\t\t{:^}\t{:^}".format(cityName[i],Area_list[k],Mini_temprature[k],Max_temprature[k],))#运行主函数-----程序入口
Main()

2.爬取结果如下(部分截图):

Python实现对主要城市及其周边地区天气数据的爬取相关推荐

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

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

  2. python爬取天气数据_Python爬取天气情况

    一.设计方案 爬虫名称:爬取天气情况并进行可视化 爬虫内容:爬取2020年3月份莆田市天气情况 爬虫设计:目标url,获取网页源代码,数据提取,数据保存 二.页面的结构特征分析(网址:http://w ...

  3. python爬虫天气数据_Python爬取真气网天气数据

    使用工具:pycharm,Chrome driver 使用库:selenium 前言: 我们无时无刻不在呼吸着周围的空气, 可身边的空气质量怎样呢? 嗯~~~ 大多数人会沉思一会儿, 最后还是会说:不 ...

  4. 手机python爬虫教程_python爬虫入门 之 移动端数据的爬取

    第七章 移动端数据的爬取 基于某一款抓包工具 : fiddler ,青花瓷 ,miteproxy 7.1 fiddler 基本配置 7.1.1fiddler简介和安装 什么是Fiddler? Fidd ...

  5. Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称

    Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称   这一节主要是使用xpath解析爬取全国城市名称 这里使用的网址是:空气质量历史数据查询   这一个案例体现的点主要是xpat ...

  6. python爬取公交车站数据_Python爬虫实例_城市公交网络站点数据的爬取方法

    爬取的站点:http://beijing.8684.cn/ (1)环境配置,直接上代码: # -*- coding: utf-8 -*- import requests ##导入requests fr ...

  7. python获取天气分析_Python爬取南京市往年天气预报,使用pyecharts进行分析

    上一次分享了使用matplotlib对爬取的豆瓣书籍排行榜进行分析,但是发现python本身自带的这个绘图分析库还是有一些局限,绘图不够美观等,在网上搜索了一波,发现现在有很多的支持python的绘图 ...

  8. python爬取地理数据_python爬取所有人位置信息——腾讯位置大数据

    腾讯位置大数据 网站 https://heat.qq.com/ 网站功能介绍 腾讯位置大数据会将提供所有用户使用腾讯位置的数据信息,但没有用户信息(只有位置信息).从这个网站我们可以获取所有使用腾讯位 ...

  9. python 北上资金_python爬虫技术:北向资金数据自动爬取!

    好久不见!今天我们继续python的话题啦.python现在势头凶得很,没事刷抖音.刷朋友圈.看公众号,弹出的广告总少不了python."python带你发家致富,财富自由!"广告 ...

最新文章

  1. 机器学习算法学习---处理分类问题常用算法(一)
  2. c 汇编语言用标准函数代替,C与汇编的接口技术
  3. 错误消息:'events' 为空或不是对象
  4. C++ 实现CRC循环冗余校验码
  5. 保密计算机和移动存储介质台账,银行计算机和移动存储介质保密管理办法
  6. 基于Multisim的函数信号发生器--方波、三角波、正弦波
  7. 请用android手机自带浏览器,还在用手机自带浏览器吗?推荐两款无广告、功能齐全的浏览器...
  8. python使用xlwt模块操作Excel
  9. Flyway-数据库迁移工具
  10. C++——素数(质数)专题训练
  11. 一个PHP程序员的职业生涯技术提升阶梯规划方案
  12. 希沃白板如何解决手机端播放课件内视频出现黑屏闪退
  13. 昨天介入600571,信雅达,喜欢的朋友可以跟进!
  14. 专利申请流程及费用及时间?
  15. Electron+Vue3+Vite+Element-Plus,保持软后台全速运行(解决循环过多导致的界面不刷新问题,保证窗口失去焦点后setTimeOut可用)
  16. 【Qt】 Fractal Designer 5.3 - Help(中文版)
  17. ​力扣解法汇总1728-猫和老鼠 II
  18. 物种组成相对丰度(百分比)堆叠柱状图
  19. 火狐浏览器所有版本下载地址
  20. 【裸辞记录之感受篇】裸辞后的反焦虑生活,相信一切都会有最好的安排

热门文章

  1. VB.NET 父窗口内子窗口运用
  2. 微信H5页面图片上传避坑指南(vant+vue)
  3. qt 禁止alt+f4_禁止上下关闭按钮和Alt + F4
  4. android 生成bks_Android 生成bks证书
  5. DirectX11_HLSL入门篇
  6. Hive学习(7)pmod()函数详解
  7. html情侣相册,浪漫的情侣相册名字
  8. 清华大学公开课线性代数2——第12讲:复数与复矩阵
  9. 【Microarchitecture of Intel and AMD CPU】 9 Sandy Bridge and Ivy Bridge pipeline 【9.8-9.10】
  10. html怎么在表格中加虚线,html设置虚线边框的方法详细介绍