php 爬虫抓取网页数据( PowerQuery简单获取中文函数帮助信息的方法,方法分享 )
优采云 发布时间: 2022-01-17 03:23php 爬虫抓取网页数据(
PowerQuery简单获取中文函数帮助信息的方法,方法分享
)
曾经文章登陆天山社区的Power Query:
Power Query M函数(1)--数据类型和数据结构
PowerQuery M函数2--计算方法和算子
Power Query M函数(3)--数据类型转换、元数据和错误处理
通过前三节的学习,相信大家对M函数的基础知识有了一定的了解。从本节开始,我们将通过实际案例逐步介绍M功能的应用方法。
本节给大家介绍的案例是利用Web.Page和Web.Contents函数从PM2.5个历史数据网站@抓取不同城市不同日期的历史空气质量相关数据>。该方法适用于Power Query中输入URL直接获取所需数据的情况(此情况是指网页地址中有可见表格数据的情况)。
在进入正文之前,先介绍一个获取中文功能帮助信息的简单方法。方法如下:
1. 在 Power Query 查询编辑器中创建一个新的空查询
2. 在编辑栏中输入 =#shared
3. 点击“到表”
4. 通过过滤Name字段获取相关函数帮助信息
Web.Page 和 Web.Contents 功能说明:
1. Web.Page 函数:返回 HTML 文档的内容(分解为其组成结构),以及完整文档的表示形式及其删除标记的文本
表达式:函数(html as any)作为表
注意:使用Web.Page函数获取HTML页面中的相关信息,并以表格的形式返回结果
2. Web.Contents 函数:将从 url 下载的内容作为二进制返回。可以提供可选的日志记录参数选项来指定其他属性。记录可以收录以下字段...(更多内容省略,详情请通过#shared查询)
表达式:函数(url 作为文本,可选选项作为可空记录)asbinary
注意:支付Web.Contents网页地址后,Web.Contents函数可以将网页中的信息以二进制数的形式返回
使用 Web.Page(Web.Contents(URL)) 将这两个函数嵌套后,最终可以将网页中的信息以表格的形式呈现出来。操作逻辑是先使用Web.Contents函数获取指定URL中的二进制信息,然后使用Web.Page函数对二进制信息进行转换解析,最后得到我们可以理解的表格数据。
在PM2.5历史数据页面爬取各城市过去一天的空气质量历史数据:
主页地址:
所需的日平均空气质量数据(以北京2014年1月为例):
网址:北京&月=2014-01
使用Power Query爬取上述网页的目的是一次爬取多个城市不同月份不同日子的空气质量历史数据。
爬取步骤如下:
1. 分析了URL的特点后发现只要把city=后面的部分改成想要的城市名,month=后面的部分改成想要的月号,不同的城市和不同月份可以开。下的每日历史数据页面
2. 所以我们现在在 Excel 表格界面中创建一个收录城市名称和月份信息的表格,并将其添加到 Power Query
3. 将 [月] 字段转换为文本数据
4. 在 Power Query 编辑器中添加自定义列,如下所示:
配方内容:
Web.Page(Web.Contents(""&[city]&"&month="&[month]))
5. 点击“继续”,选择“公共”并保存(数据量大,需要耐心等待,建议练习时只做两个城市的数据)
6. 在自定义字段中展开数据
7. 再次展开自定义字段中的相关字段(从日期到排名)
8. 关闭并上传
以上内容就是爬取网页信息的所有步骤。好,我们来看看爬取的数据。
本文作者:李琦,天山社区专家,中国电子表格应用大会主席,天山智能/网易云课堂/经济管理之家等签约讲师,曾就职于IBM和德勤*敏*感*词*事务所,从事商业分析和数据分析咨询 工作,擅长用 Excel 创建商业智能报告。
天山学院课程推荐: