尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
python3爬虫学习之beautifulsoup实战
将使用规则以及信息提取规则记录下来, 把记录下来的规则运用到实战当中, 这是在学习课程时所做的案例标点符号。去抓取中国天气网里每一个城市的最低气温, 并且从中排出气温最低的10个城市, 在实际操作过程当中, 会存在各种各样、或大或小关于这方面的误区, 以及有一些对此需要予以留意、小心注意的地方, 接下来都会一个一个去进行列举。上代码import requests from bs4 import BeautifulSoup # from pyecharts import Bar cities_temp [] #处理抓取页面 def parse_url(url): headers { User-Agent : Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Mobile Safari/537.36 } resp requests.get(url ,headersheaders) text resp.content.decode(utf-8) soup BeautifulSoup(text , html5lib) conMidtab soup.find_all(div ,class_conMidtab)[0] tables conMidtab.find_all(table) for table in tables: trs table.find_all(tr)[2:] for index,tr in enumerate(trs): cities {} tds tr.find_all(td) city_td tds[0] if index 0: city_td tds[1] city list(city_td.stripped_strings)[0] temp_td tds[-2] min_temp list(temp_td.stripped_strings)[0] cities[城市] city cities[最低温度] int(min_temp) cities_temp.append(cities) def main(): urls[ http://www.weather.com.cn/textFC/hb.shtml, http://www.weather.com.cn/textFC/db.shtml, http://www.weather.com.cn/textFC/hd.shtml, http://www.weather.com.cn/textFC/hz.shtml, http://www.weather.com.cn/textFC/hn.shtml, http://www.weather.com.cn/textFC/xb.shtml, http://www.weather.com.cn/textFC/xn.shtml, http://www.weather.com.cn/textFC/gat.shtml, ] for url in urls: parse_url(url) #分析数据排序 cities_temp.sort(keylambda data:data[最低温度]) data cities_temp[0:10] # cities list(map(lambda x:x[城市],data)) # temps list(map(lambda x:x[最低温度],data)) # chart Bar(中国最低温度城市排行榜) # chart.add(,cities,temps) # chart.render(phb.html) for d in data: for k,v in d.items(): print(k : str(v)) print(**30) if __name__ __main__: main()截取运行结果部分分析网页之际, 应当留意到, 中国天气网划分成华北、东北、港澳台等八个地区, 此八个地区涵盖了全国所有城市, 我们将八个url置于列表里头, 依次遍历该列表, 并且调用分析网页的函数, 以此来提取我们所需的信息。一一般来说我们解析网页时会使用这个soup BeautifulSoup(text , html.parser)或者这个soup (text , lxml)因为他们解析更快但在本代码中用了这个soup (text , )缘由为, 于爬取港澳台那刻, 网站的htnl语言 缺乏规范性, 具备起始标签, 却无终止标签, 前面两种解析将会报错, 没法获取我们所需求的数据, 然而虽说速度较为迟缓, 它却更为强大, 拥有超强的容错性能以及补全html标签代码的本事。二: 当我们对网页展开分析之际, 能够看到有着7个div信息, 其class属性为这般情况, 原因在于中国天气网给出了涵盖今天的七天数据, 既然如此我们仅仅需要今天的数据, 所以我们应当进行下标取0的操作, 以此来获取今天的信息。三: 当我们进行提取信息的操作时会通过遍历标签来获取信息, 在此过程中用到了这个函数, 该函数不但会遍历信息, 而且还会遍历下标, 当我们去获取华北地区信息的时候, 能够看到提取的结果是无误的, 原因在于华北地区的第一个是自治市北京, 紧接着北京的第一个地区又是北京, 呈现出这样的情况:然而我们获取第二个地区东北时就不一样了经过分析能够发现, 华北之所以能够正常进行爬取, 原因是北京存在与北京重名的情况, 然而黑龙江和哈尔滨并非这样, 这意味着, 我们于华北所获取到的是北京市但并非北京市的北京, 我们将北京地区的气温信息给予了北京市在东北地区, 要是把哈尔滨的天气信息给予黑龙江就会出现错误。故而, 我们借助获取下标, 要是属于首个省或者自治市的情况, 也就意味着当首个tr标签的下标等于0的时候, 那么第二个下标处的td标签成为1才会是确切的地区或者的城市之内的气温资讯。本人表达能力确实有限不懂的可以多分析分析或者在下面探讨。三: 我们要获取气温最低的10个城市, 所以, 在这里, 将气温转化为int类型。cities[最低温度] int(min_temp)四剩下的就是把数据按温度排序并做切片操作cities_temp.sort(keylambda data:data[最低温度]) data cities_temp[0:10]我们用到sort函数从低到高排序还用到表达式。把“最低温度”这个key对应的value用作排序的key, 之前, 已将这个参数转化成int类型。最后, 经过排序的那个list, 从低到高的顺序储存着全部的城市名称以及最低气温, 我们去做切片操作, 借此获取温度最低的那10个城市。最后我们打印出来。最最后关于代码中注释掉的内容做的是数据可视化曾是这般情形, 当中缘由在于重新安装了一回系统, 不知因何就出现报错状况了, 只好先进行注释处理, 此刻正努力着手解决, 代码本身是不存在问题的, 若有头绪的同学烦请告知一声, 多谢。也希望能记录的提取规则。还要最后补充一点, 这一点也算是重点, 通常情况下, 去获取抓取内容, 是以上面所获取的那个resp作为例子。假设我们清楚 resp.text() 这个操作, 那么能够从中取得网页的具体内容, 如果需要明晰的话, 可以这样讲在进行爬取的这个过程当中, 必须要把它打印出来, 以此来证实爬取所得到的内容不存在乱码的异常情形, text() 用于获取文本是会进行自动解析, 要是相关网页的编码不符合规范要求, 便会出现乱码。对于本文所涉及的代码而言, 其呈现为resp..(utf-8)这种形式, 此形式是用于指定一种解码方式, 与此同时, 期望能够去了解清楚resp.text以及resp.之间存在的区别, 还有它们各自的用法。
RELATED

相关推荐

数学建模中神经网络实战选型与可复现实现指南

数学建模中神经网络实战选型与可复现实现指南

1. 这不是“AI科普”,是数学建模现场用得上的神经网络实战手册你打开数学建模竞赛题目的那一刻,看到“预测某区域未来三年建材价格波动”“分析多源遥感图像识别城市扩张模式”“基于海量传感器数据构建交通流短时预测模型”——这些题干背后&#xff0c…

📅 2026/11/7 19:36:05
C++泛型编程核心:从模板基础到STL设计与实战应用

C++泛型编程核心:从模板基础到STL设计与实战应用

1. 项目概述:从“黑马”到“泛型”,C进阶的必经之路如果你正在学习C,并且已经跨过了变量、循环、函数这些基础门槛,那么“泛型编程”这个词,大概率已经在你眼前晃悠过很多次了。无论是经典的《C Primer》,还…

📅 2026/10/13 9:31:04
美赛C题建模本质:从网球问题看物理系统抽象与可计算建模

美赛C题建模本质:从网球问题看物理系统抽象与可计算建模

1. 这道题根本不是在考网球——而是用网球当“显微镜”看物理建模的本质2024年美赛C题标题叫《网球的动量》,但你要是真去翻规则书、查ITF官网、研究球拍弦张力对旋转的影响,那就彻底跑偏了。我带过七届美赛队伍,每年都有学生卡在“题目字面意…

📅 2026/10/28 18:39:24
MORE NEWS

更多资讯

📰

恩平可以考电工证官方回应怎么考才能快速上岗

恩平可以考电工证官方回应怎么考才能快速上岗 你现在正卡在找工作这道坎上, 急需特种作业证才能上岗找工作 ,而 电工证 正是你打开电工、安装、维修等岗位的“敲门砖”。但很多人不知道的是,恩平地区 可以考电工证…

📰

定兴考电工证的机构哪家靠谱 电工证全国通用怎么选

定兴考电工证的机构哪家靠谱 电工证全国通用怎么选 实操考试心里没底怕挂科,这是很多在定兴考电工证的机构咨询学员的共同困惑。尤其是一些刚入行的年轻电工,面对高压电工证、低压电工证等实操项目时,心里没底、怕挂科、担心考试不过影响就业。但你知道吗…

📰

工地太忙根本没时间复习考试 低压电工证电脑上复审全国通用怎么操作

工地太忙根本没时间复习考试 低压电工证电脑上复审全国通用怎么操作 工地太忙根本没时间复习考试,但低压电工证电脑上复审又必须完成,不然证书就失效了。对于一线施工人员来说,时间紧张是常态,但证书复审也不能落下。好消息是,低压电工证电脑上复审全国…

📰

电工作业五步法则通过率揭秘:从报名到考证全流程避坑指南

电工作业五步法则通过率揭秘:从报名到考证全流程避坑指南 你是不是也和我一样,不知道去哪报名怕被中介坑?尤其现在特种作业证报名渠道五花八门,一不小心就花了冤枉钱,还考不过。今天我就来聊聊 电工作业五步法则…

📰

电工作业现场注意事项怎么报名才能一次过

电工作业现场注意事项怎么报名才能一次过 怕考不过白交培训费?电工作业现场注意事项你了解多少?报名前不搞清楚这些,真有可能浪费钱还拿不到证。…

📰

裂解炉工是特种工吗?工地太忙根本没时间复习考试,考前押题怎么用?

裂解炉工是特种工吗?工地太忙根本没时间复习考试,考前押题怎么用? 工地太忙根本没时间复习考试,裂解炉工是特种工吗?这个问题你可能也问过。特别是现在工程项目越来越多,现场管理人员和操作人员都面临一个现实问题:时间紧、任务重,但考证和复审又不能…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬