爬虫思路——正则表达式

需求:

爬取 http://www.weather.com.cn/weather/101020100.shtml

爬取最近7天的天气预报,包含内容 ['日期', ‘天气’, ‘温度’, ‘风向’, ‘风力’]

将7天的天气数据保存为csv格式文档

需求网页

解题思路:

步骤一:需求分解

网址:http://www.weather.com.cn/weather/101020100.shtml ----> requests 库

爬取最近7天的天气预报 ----> 可能涉及到遍历,猜测每一天的天气数据在一个子标签内

包含内容 ['日期', ‘天气’, ‘温度’, ‘风向’, ‘风力’] ----> 可以使用正则表达式匹配找出对应需求数据, re库

将7天的天气数据保存为csv格式文档 ----> csv 模块


步骤二:分析页面

chrome打开对应网页:http://www.weather.com.cn/weather/101020100.shtml

右键--> 检查

按顺序点击下图位置:

定位到标签如下:

点击复制 li 的上一级父类标签 class="t clearfix"

在网页中,右键在网页源代码中,按ctrl+F, 确认其是否在所请求的网页源代码之中

可以看到父类标签 class="t clearfix"在网页源代码中能够找到,且数量只有一条

父类标签ul class="t clearfix" 下级子标签 有若干个 li 标签,上图蓝色高亮为今天天气数据,每一下 li 子标签下,都保存有对应那一天的天气数据


步骤三:获取网页源代码

步骤四:匹配最小父级标签


步骤五:匹配并列子级标签,生成列表

步骤六:定义子级标签内解析公式

步骤七:遍历子级标签,获取所需数据,并把每个li 标签下所需数据,作为结果列表中的元素

步骤八:保存数据至csv文档

全部代码截图如下:

输出结果文件如下:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容