2017-07-31 3 views
0

以下のサイトはIEで正常に開くために使用されましたが、現在は概要セクションは表示されません。しかし、もし私がクロームでそれを開くと、それはありません。powershellのウェブスクレーピングがもう機能していません

https://support.microsoft.com/en-us/help/4022887/title#!%2Fen-us%2Fhelp%2F4022887%2Ftitle%22

私は、COM何を経由して、次のコードのPowerShell 5(ここでは職場でのシステム変更のいくつかの並べ替えまで)

$web ="https://support.microsoft.com/en-us/help/4022887/title#!/en-us/help/4022887/title" 
$ie = new-object -ComObject "InternetExplorer.Application" 
$ie.silent = $true 
$ie.navigate($web) 
while($ie.busy){ sleep 1 } 
$result = $ie.document.body.getElementsByClassName("kb-summary-section") | select -ExpandProperty innertext 
$ie.quit() 

を使用して作業しますが、それはIEを使用しているようには$に返さ取得されていました結果。私はInvoke-WebRequestを試しましたが、再度希望の結果を返しません。私はそれがまだIEエンジンを使用している疑いがあります。だから私の質問は、今、私たちのIE上に置かれている制限/制限を下回る、純粋な.netルートでも、powershellやchromeのブラウザ機能を使って要約セクションのための上記のURLを掻き集める方法の誰もがあります環境??

編集 私はまだ$ ie.document.bodyに情報を取得しています(私は取得したものを表示するために文書を添付する方法を知らず、貼り付けるには時間がかかります)。クロムサイトは正しく表示されますが、IEには要約部分がありません

+0

あなたはIEが物理的に何も表示しないと言っていますか?それはブラウザの問題、パワーシェルの問題ではないようです。 IEを使用してサイトに実際に移動するとどうなりますか? – ShanayL

+0

'Invoke-WebRequest'がカバーの下でIEを使用している疑いがあります:' Invoke-WebRequest'は直接HTTPリクエストを発行し、ブラウザを自動化しません。これは、ページを取得するために使用できない理由です。ページはJavaScriptを使用して作成され、プレーンなHTMLとしてダウンロードするとサマリーテキストは含まれません。これを回避するには、IEの自動化のすべてが必要です。 IEでページが正しく表示されない場合、Chromeを簡単に近くで自動化することができないため、スクレイピングの取り組みは失敗する可能性が最も高いです。管理者に制限について質問してください。 –

答えて

0

それは自己治癒しているように見えますが、何らかの制限がなくなっているようです(私たちの管理チームには明らかに変更はありません)私のコードはcomを介して再び働いています。私はサイトをもう一度削り取ることができます:)これを見た皆さん、ありがとう。

関連する問題