Web
总结
项目 | 说明 |
---|---|
发布状态 | 正式版 |
产品 | Excel Power BI(语义模型) Power BI(数据流) Fabric(数据流 Gen2) Power Apps(数据流) Dynamics 365 Customer Insights |
支持的身份验证类型 | Web.Contents: 匿名 Windows 基本 Web API 组织帐户 服务主体 Web.BrowserContents: 匿名 Windows 基本 Web API Web.Page: 匿名 Windows (仅当前用户的凭据) Web API |
功能参考文档 | Web.Contents Web.BrowserContents Web.Page |
注意
如果使用的是本地数据网关或虚拟网络(VNet)数据网关,则不支持服务主体身份验证类型。
注意
POST 请求只能在使用 Web.Contents
时匿名发出。
注意
由于部署计划和特定于主机的功能,某些功能可能只存在于一个产品中。
先决条件
- Web.Page 需要 Internet Explorer 10。
- Web.BrowserContents 需要使用 Microsoft Edge 的 WebView2 运行时。
支持的功能
- 连接到 URL
- 高级
- 使用文本常量和参数的组合构造 URL
- 指定命令超时
- 定义 HTTP 请求标头参数(仅限 Web.Contents)
使用 Power Query Desktop 加载 Web 数据
使用 Power Query Desktop 从网站加载数据:
在 Excel 的数据功能区中选择在 Power BI 中获取数据 > Web 或从 Web 获取数据。
选择基本按钮,然后在文本框中输入 URL 地址。 例如,输入
https://en.wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States
。 然后选择确定。如果输入的 URL 地址无效,则会在 URL 文本框旁边显示 警告图标。
如果在连接到网站之前需要构造更高级的 URL,请转到使用高级 URL 加载 Web 数据。
选择要用于此网站的身份验证方法。 在此示例中,选择匿名。 然后选择要应用这些设置的级别,在本例中为 https://en.wikipedia.org/。 然后选择连接。
此连接器可用的身份验证方法包括:
匿名:如果网页不需要任何凭据,请选择此身份验证方法。
Windows:如果网页需要 Windows 凭据,请选择此身份验证方法。
基本:如果网页需要基本用户名和密码,请选择此身份验证方法。
Web API:如果要连接的 Web 资源使用 API 密钥进行身份验证,请选择此方法。
组织帐户:如果网页需要组织帐户凭据,请选择此身份验证方法。
为身份验证方法选择的级别决定 URL 的哪个部分将应用身份验证方法。 如果选择顶级 Web 地址,此处选择的身份验证方法将用于该 URL 地址或该地址中的任何子地址。 但是,你可能不希望将顶级 URL 地址设置为特定的身份验证方法,因为不同的子地址可能需要不同的身份验证方法。 例如,如果访问单个 SharePoint 网站的两个单独的文件夹,并且想要使用不同的 Microsoft 帐户来访问每个文件夹。
为特定网站地址设置身份验证方法后,无需为该 URL 地址或任何子地址重新选择身份验证方法。 例如,如果选择此对话框中的
https://en.wikipedia.org/
地址,则以此地址开头的任何网页都不需要再次选择身份验证方法。注意
如果稍后需要更改身份验证方法,请转到更改身份验证方法。
在导航器对话框中,可以选择表,然后通过选择转换数据在 Power Query 编辑器中转换数据,或者通过选择加载加载数据。
导航器对话框的右侧显示选择用于转换或加载的表的内容。 如果不确定哪个表包含你感兴趣的数据,则可以选择 Web 视图选项卡。Web 视图允许你查看网页的全部内容,并突出显示在该网站上检测到的每个表。 可以选择突出显示的表上方的复选框,从该表中获取数据。
在导航器对话框的左下角,还可以选择使用示例添加表按钮。 此选择提供一个交互式窗口,你可以在其中预览网页的内容并输入要提取的数据的示例值。 有关使用此功能的详细信息,请转到通过提供示例获取网页数据。
使用 Power Query Online 加载 Web 数据
使用 Power Query Online 从网站加载数据:
在获取数据对话框中,选择网页或 Web API。
在大多数情况下,需要选择网页连接器。 出于安全原因,需要使用此连接器的本地数据网关。 网页连接器需要网关,因为 HTML 页面使用浏览器控件进行检索,这涉及潜在的安全问题。 此问题与 Web API 连接器无关,因为后者不使用浏览器控件。
在某些情况下,你可能想要使用指向 API 或存储在 Web 上的文件的 URL。 在这些情况下,Web API 连接器(或特定于文件的连接器)允许你在不使用本地数据网关的情况下继续操作。
另请注意,如果 URL 指向某个文件,则应使用特定的文件连接器,而不是网页连接器。
在文本框中输入 URL 地址。 在这个例子中,输入
https://en.wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States
。选择本地数据网关的名称。
选择用于连接到网页的身份验证方法。
此连接器可用的身份验证方法包括:
匿名:如果网页不需要任何凭据,请选择此身份验证方法。
Windows:如果网页需要 Windows 凭据,请选择此身份验证方法。
基本:如果网页需要基本用户名和密码,请选择此身份验证方法。
组织帐户:如果网页需要组织帐户凭据,请选择此身份验证方法。
选择身份验证方法后,选择“ 下一步”。
在导航器对话框中,可以选择一个表,然后通过选择转换数据在 Power Query 编辑器中转换数据。
使用高级 URL 加载 Web 数据
在 Power Query Desktop 中选择从 Web 获取数据 >时,大多数情况下会在“基本”设置中输入 URL。 但是,在某些情况下,你可能希望从其单独的部分组合 URL、为连接设置超时或提供单独的 URL 标头数据。 在这种情况下,请在从 Web 对话框中选择高级选项。
使用对话框的 URL 部分部分来组合要用于获取数据的 URL。 URL 部分中的第一部分 URL 很可能由 URI 的架构、颁发机构和路径组成(例如,http://contoso.com/products/
)。 第二个文本框可以包含用于筛选提供给网站的信息的任何查询或片段。 如果需要添加多个部分,请选择添加部分以添加另一个 URL 片段文本框。 输入 URL 的每个部分时,将在 URL 预览框中显示选择确定时将使用的完整 URL。
根据 POST 请求处理数据所需的时间,可能需要延长请求继续连接到网站的时间。 POST 和 GET 的默认超时时间为 100 秒。 如果此超时时间过短,可以使用可选的命令超时(以分钟为单位)来延长保持连接状态的分钟数。
还可以使用可选的 HTTP 请求标头参数下拉框将特定请求标头添加到发送到网站的 POST。 下表介绍了可选择的请求标头。
请求头 | 说明 |
---|---|
Accept | 指定可接受的响应媒体类型。 |
Accept-Charset | 指示文本响应内容中可接受的字符集。 |
Accept-Encoding | 指示响应中可接受的响应内容编码。 |
Accept-Language | 指示响应中首选的自然语言集。 |
Cache-Control | 指示客户端请求和服务器响应中由指令指定的缓存策略。 |
Content-Type | 指示内容的媒体类型。 |
If-Modified-Since | 有条件地确定自此字段中指定日期以来 Web 内容是否已更改。 如果内容未更改,则服务器仅响应具有 304 状态代码的标头。 如果内容已更改,服务器将返回请求的资源以及状态代码 200。 |
Prefer | 指示客户端首选特定服务器行为,但成功完成请求不需要特定服务器行为。 |
范围 | 指定所选表示形式数据的一个或多个子范围。 |
Referer | 为从中获取目标 URI 的资源指定 URI 引用。 |
从 Web 导入文件
通常,在 Power Query Desktop 中导入本地文件时,将使用特定的文件类型连接器导入该文件,例如,JSON 连接器可导入 JSON 文件或者 CSV 连接器可导入 CSV 文件。 但是,如果使用 Power Query Desktop 并且要导入的文件位于 Web 上,则必须使用 Web 连接器导入该文件。 与本地情况一样,以后你将看到连接器默认加载的表,你可以随后加载或转换此表。
Web 连接器支持以下文件类型:
例如,可以使用以下步骤在 https://contoso.com/products
网站上导入 JSON 文件:
在获取数据对话框中,选择 Web 连接器。
选择基本按钮并在 URL 框中输入地址,例如:
http://contoso.com/products/Example_JSON.json
选择“确定”。
如果你是首次访问此 URL,请选择匿名作为身份验证类型,然后选择连接。
Power Query 编辑器现在将打开,其中包含从 JSON 文件导入的数据。 在 Power Query 编辑器中选择视图选项卡,然后选择 编辑栏以在编辑器中打开编辑栏。
如你所见,Web 连接器从提供的 URL 返回 Web 内容,然后自动将 Web 内容整合到 URL(此示例中为
Json.Document
)指定的相应文档类型。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈