Web サイトの結果セットをスクレイピングして、その特定のサイトの結果を含むテーブルを作成しようとしています。このサイトへの通常のログインでは、資格情報を使用してサイトのコンテンツにアクセスできます。サイトは HTTPS を使用しています
ただし、Power BI (より具体的には Power Query) を使用してこの同じサイトのコンテンツを取得しようとすると、サイトが資格情報を要求しているかのように、2 つの列と 2 つの行の結果セットが表示されます。
|--------------|-------------|
| Username: | |
|--------------|-------------|
| Password: | |
|--------------|-------------|
これは、パワークエリが資格情報を要求したときに資格情報を入力した後です(入力エラーのエラーは返されません)。資格情報が正しく入力されている。不正な資格情報を入力すると、エラーが発生します。
次のオプションのクエリを試しました:
- 希望のサイトを直接入力
- GET() の代わりに POST() を強制する、M のクエリおよびコンテンツ オプションを使用した高度な入力。
高度な方法 1 - 実行時にログイン フォームを表示します。
let
Source = Web.Page(
Web.Contents(
"https://url.htm",
[Query=
[mNo ="1234",form name="overviewDetailsForm", id="overviewDetailsForm", method="post"
]
]
)
),
Data0 = Source{0}[Data]
in
Data0
方法 2 - オプションは匿名資格情報でのみ使用できるため、エラーが発生します。
let
Source = Web.Page(
Web.Contents(
"https://url.htm",
[Query=
[mNo ="1234",form name="overviewDetailsForm", id="overviewDetailsForm", method="post"
]
],
[Content=Text.ToBinary()
]
)
),
Data0 = Source{0}[Data]
in
Data0