PowerShell 3, web ile ilgili bazı güçlü yeni özellikler de dahil olmak üzere birçok yeni özelliğe sahiptir. Web'i otomatikleştirmeyi önemli ölçüde basitleştiriyorlar ve bugün size bir web sayfasından her bir bağlantıyı nasıl çıkarabileceğinizi ve isterseniz kaynağı isteğe bağlı olarak nasıl indirebileceğinizi göstereceğiz.
PowerShell ile Web'i Kazıma
Web'i otomatikleştirmeyi kolaylaştıran iki yeni cmdlet vardır, insanlar tarafından okunabilir içeriğin ayrıştırılmasını kolaylaştıran Invoke-WebRequest ve makine tarafından okunabilir içeriğin okunmasını kolaylaştıran Invoke-RestMethod. Bağlantılar bir sayfanın HTML'sinin parçası olduğu için, insan tarafından okunabilir öğelerin parçasıdır. Bir web sayfası almak için tek yapmanız gereken Invoke-WebRequest'i kullanmak ve ona bir URL vermektir.
Invoke-WebRequest –Uri "http://howtogeek.com"
Aşağı kaydırırsanız yanıtın bir bağlantılar özelliği olduğunu görürsünüz, bunları filtrelemek için PowerShell 3’ün yeni üye numaralandırma özelliğini kullanabiliriz.
(Invoke-WebRequest –Uri ‘http://howtogeek.com’). Bağlantılar
Gördüğünüz gibi, çok sayıda bağlantı geri alıyorsunuz, aradığınız bağlantıları filtrelemek için benzersiz bir şey bulmak için hayal gücünüzü kullanmanız gereken yer burasıdır. Ön sayfadaki tüm makalelerin bir listesini istediğimizi varsayalım.
((Invoke-WebRequest –Uri ' http://howtogeek.com ’) .Linkler | Where-Object {$_.href -like “http*”} | Sınıf -eq “başlık”). Başlık
Yeni cmdlet'lerle yapabileceğiniz bir diğer harika şey, günlük indirmeleri otomatikleştirmektir. Nat Geo web sitesinden günün görüntüsünü otomatik olarak kazımaya bakalım, bunu yapmak için yeni web cmdlet'lerini Start-BitsTransfer ile birleştireceğiz.
$ IOTD = ((Invoke-WebRequest -Uri ' http://photography.nationalgeographic.com/photography/photo-of-the-day/’).Links | İç HTML benzeri "* Duvar Kağıdı İndir *"). Href
Başlangıç-Bit Aktarımı -Kaynak $ IOTD -Hedef C: \ IOTD \
Hepsi bu kadar. Kendinize ait düzgün numaralarınız var mı? Yorumlarda bize bildirin.