python黑洞网 首页 博客 问答 公众号 答疑 pdf 视频 游戏 脚本 实战 其它资源
写博客 登录 注册

程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网: it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Python爬虫学习记录(1)——BeautifulSoup爬取天气信息

发布于2020-05-03 17:24     阅读(2304)     评论(0)     点赞(29)     收藏(1)


Python爬虫学习记录(1)——BeautifulSoup爬取天气信息

上节学习了flask简单使用并且爬取网站,本节学习BeautifulSoup爬取天气信息

打开网站: http://www.weather.com.cn/weather/101030100.shtml 可以看到天津天气七天信息

查看网页源代码:分析一天的天气标签 ul li h1 p span i win 

下面开始编写代码:

BeautifulSoup的详细使用方法就不再介绍网上应该有很多,这里只针对本练习使用。

1.首先导入requests、BeautifulSoup库

  1. import requests
  2. from bs4 import BeautifulSoup

2.编写获取网页函数:

  1. def getHTMLText(url):
  2. try:
  3. r = requests.get(url,timeout=10)#获取网页
  4. r.raise_for_status()#确认编码方式
  5. r.encoding = r.apparent_encoding#编码
  6. return r.text#返回获取网页文本
  7. except Exception as e:
  8. print(e)
  9. return ""

3.编写处理网页文本函数:

  1. def buildList(ulist,html):
  2. soup = BeautifulSoup(html,"lxml")
  3. lis = soup.select("ul[class='t clearfix'] li")
  4. for li in lis:
  5. try:
  6. date = li.select('h1')[0].text
  7. weather = li.select('p[class="wea"]')[0].text
  8. temp = li.select('p[class="tem"] span')[0].text + "/" + li.select('p[class="tem"] i')[0].text
  9. win = li.select('p[class="win"] i')[0].text
  10. data = [date,weather,temp,win]
  11. ulist.append(data)
  12. except Exception as e:
  13. print(e)

4.编写显示天气函数:

  1. def showList(ulist):
  2. split = "{0:^10}\t{1:{4}^10}{2:{4}^10}\t{3:^10}"
  3. isplit = "{0:^10}\t{1:{4}^10}\t{2:{4}^10}\t{3:{4}^10}"
  4. print(split.format("时间","天气","温度","风量",chr(12288)))
  5. for list in ulist:
  6. print(isplit.format(list[0],list[1],list[2],list[3],chr(12288)))

5.主函数开始运行:

  1. if __name__ == '__main__':
  2. ulist = []
  3. url = "http://www.weather.com.cn/weather/101030100.shtml"
  4. html = getHTMLText(url)
  5. buildList(ulist,html)
  6. showList(ulist)

运行成功结果:

  1. 时间     天气        温度     风量
  2. 2日(今天)    晴转多云      32/18℃      4-5级   
  3. 3日(明天)   雷阵雨转小雨     24/16℃      4-5级   
  4. 4日(后天)    阴转多云      23/15℃    <3级转3-4级 
  5. 5日(周二)     阴        24/16℃      <3级    
  6. 6日(周三)     多云       24/15℃      3-4级   
  7. 7日(周四)     阴        25/14℃    3-4级转<3级 
  8. 8日(周五)    小雨转晴      25/13℃    <3级转3-4级 

 

 

 

 

记录学习过程

 

 

原文链接:https://blog.csdn.net/cm_panpan/article/details/105888058

程序员说:42岁了,突然觉得研发前途渺茫

中国程序员数量达755万,全球排名第二

为什么都说程序员找不到女朋友,但是身边程序猿的却没一个单身的?

程序员说:30岁以上你还死磕技术,别说拿高薪,可能你连饭碗都会保不住

程序员被开除,老板:“有你参与的项目全黄了!”

笑话:一个测试工程师走进一家酒吧

笑话:面试官:请拿出一段体现你水平的代码。我: sudo rm -rf /*面试官:这体现了你哪方面能力?

python精选:Python 办公实战!​按姓名拆分 Excel 为单独文件,微信自动发给相应联系人

网友说:做开发,不被领导喜欢怎么办?

网友说:我奉劝各位,一定不能在职场透露自己的家庭条件



所属网站分类: 技术文章 > 博客

作者: 西红柿煎鸡蛋

链接: https://www.pythonheidong.com/blog/article/347261/24dba525128ee89eadeb/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

29 0
收藏该文
已收藏

评论内容:(最多支持255个字符)




站长公众号(new) 更多>

程序员说:42岁了,突然觉得研发前途渺茫

中国程序员数量达755万,全球排名第二

为什么都说程序员找不到女朋友,但是身边程序猿的却没一个单身的?

程序员说:30岁以上你还死磕技术,别说拿高薪,可能你连饭碗都会保不住

程序员被开除,老板:“有你参与的项目全黄了!”

笑话:一个测试工程师走进一家酒吧

笑话:面试官:请拿出一段体现你水平的代码。我: sudo rm -rf /*面试官:这体现了你哪方面能力?

python精选:Python 办公实战!​按姓名拆分 Excel 为单独文件,微信自动发给相应联系人

网友说:做开发,不被领导喜欢怎么办?

网友说:我奉劝各位,一定不能在职场透露自己的家庭条件

pdf(new) 更多>

git常用命令pdf下载

《从零开始学Python网络爬虫》PDF高清版免费下载

《Python游戏编程快速上手 》PDF高清版免费下载

【每日书籍推荐】PYTHON 项目开发实战_超高清PDF

《父与子的编程之旅:与小卡特一起学Python》PDF高清版免费下载

《Effective Python》pdf高清版下载

【每日推荐书籍】《Python3网络爬虫开发实战》

【每日一本书】《Python编程快速上手 让繁琐工作自动化》

《Python从小白到大牛》PDF高清版 免费下载

《Python编程:从入门到实践(第2版)》

脚本(new) 更多>

五年级同学BMI指数计算器

用python做---,pythonos2.2.0-1版

使用Discord.py个人号创建Discord Bot 提示 401 Unauthorized

新手训练短语

opencv实现视频截取

python练习题

用python画国旗

抖音最火表白代码下载

python文件解压脚本

python分类文件脚本下载

博客(new) 更多>

Python使用Matplotlib库绘制双y轴图形(柱状图+折线图)

Python中使用matplotlib时显示中文乱码_(或更改字体)

Python 列表 pop()函数使用详解

17 Python的os模块

Python皮卡丘

Python提取JSON格式数据

python 爱心代码

python萌新爬虫学习笔记【建议收藏】

【2023华为杯F题】强对流降水临近预报(Python&Matlab代码分享)

warning: retrying (retry(total=4, connect=none, read=none, redirect=none, st

视频(new) 更多>

2020最新_Python_(MySQL_SQL_Redis)数据库详解【千锋】

2019版-千锋Python语法-视频

2019千锋Python爬虫全套视频(最经典)

13天搞定Python分布爬虫 视频教程

python办公自动化

python深度学习系列教程

python视频 神经网络 Tensorflow 模块 视频教程

初级Python视频教程 云盘

初级Python视频教程推荐

python视频各种视频很多

实战(new) 更多>

韩顺平TCP网络文件传输课程代码word下载

基于python的ARP扫描与断网攻击的图形化脚本

bootstrap-datetimepicker搞了一天也不显示,请教!

这个项目是人人网的爬虫程序

这是一个利用Python分析一个json数据,并可视化输出结果的小项目

一个Mp3播放器 Python项目实战

一个自动发送邮箱验证码的小项目 源码下载

python 加密解密的程序 .py下载

PYTHON实现计算机功能

PYTHON定时关机

问答(new) 更多>

modbus tcp 与王鸽 RTU5026

如何在数据框中创建新列以根据 Python Pandas 中的日期列对每个 id 的值进行排序?[复制]

索引/数组故障排除:家庭作业

Pytorch安装

mysql.connector.errors.InterfaceError:执行操作失败;

如何将发出请求的用户分配给 Django 模型中的外键字段

如何在 python 中将日期时间格式化为字符串“yyyy-MM-dd'T'HH:mm:ss.SSSZ'”格式

如何使用 PyQt 信号发出 64 位无符号整数

如何在Android上使用“pyqtdeploy”Windows pyqt5?[关闭]

将数据(超过 1 点)添加到绘图破折号中的现有迹线

游戏(new) 更多>

用python写滑雪游戏 源码下载

用python写乒乓球游戏 源码下载

python吃豆子小游戏 源码下载

外星人入侵 python小游戏源码下载

帅哥吃苹果 python小游戏源码下载

小恐龙快跑 python小游戏源码下载

python小游戏拼图源码下载

风筝 python小游戏源码下载

迷宫-python小游戏源码下载

python小游戏 life

其他资源(new) 更多>

王道机试

python做乘法口诀表

纯净版python 3.7开发环境安装包

视觉SLAM十四讲 - 从理论到实践

Python正则表达式教程下载

Vue+Go前端后端一体化 企业级微服务网关项目

尚硅谷java基础入门视频下载

尚硅谷java基础入门视频

超基础初一生反utPython程序(只是一个文本)

注册表实用手册


聚圣源2017射雕英雄传起名字免费软件好如何给画室起名字起名字男孩打分服装店 起名总是的近义词七星室内滑雪场孩子快抓住妈妈的手狗年宝宝起名字大全2018中国起名易经大师语音朗读软件川菜店铺起名女孩起名字打分金算盘扬名立万结局叮咚钱包12画属木的吉祥字起名字用五色草恶魔高校第三季中国赚钱网白夜追凶在线江湖奇兵人肉叉烧包下载双胎起名字男孩于怎样给麻辣烫店起名字大全武大考试中心秦煌魔兽争霸改键器豆浆店加盟公司起名安装淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化