PowerShell 3 dahil, birçok yeni özelliğe sahiptirbazı güçlü yeni web ile ilgili özellikler. Web'i otomatikleştirmeyi büyük ölçüde kolaylaştırıyorlar ve bugün size bir web sayfasındaki her bir bağlantıyı nasıl çıkarabileceğinizi ve isteğe bağlı olarak kaynağı indirebileceğinizi göstereceğiz.
PowerShell ile Web'i Kazımak
Otomatikleştirmeyi yapan iki yeni cmdlet varweb daha kolay, insan tarafından okunabilen içeriğin ayrıştırılmasını kolaylaştıran Invoke-WebRequest ve makinenin okunabilir içeriğinin okunmasını kolaylaştıran Invoke-RestMethod. Bağlantılar bir sayfanın HTML'sinin bir parçası olduğu için, okunabilir öğelerin bir parçasıdır. Bir web sayfası elde etmek için tek yapmanız gereken Invoke-WebRequest kullanmak ve bir URL vermek.
Invoke-WebRequest –Uri ‘http://howtogeek.com’
Aşağı kaydırırsanız, yanıtın links ö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’) .Links
Gördüğünüz gibi, birçok bağlantıyı geri alıyorsunuz.Hayal gücünüzü, aradığınız bağlantıları filtrelemek için benzersiz bir şey bulmak için kullanmanız gereken yerdir. Ön sayfadaki tüm makalelerin listesini istediğimizi varsayalım.
((Invoke-WebRequest –Uri ‘http://howtogeek.com’) .Links | Where-Object {$ _. Href-benzeri “http *”} | Where -eq sınıfı “title”).
Yeni ile yapabileceğiniz başka bir harika şeycmdlet'ler günlük indirmeleri otomatikleştiriyor. Günün görüntüsünü Nat Geo web sitesinden otomatik olarak kazımaya bakalım, bunun 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 | Nerede innerHTML benzeri“ * Duvar Kağıdını İndir * ”).
Start-BitsTransfer - Kaynak $ IOTD - Hedef C: IOTD
Hepsi bu kadar. Kendine ait püf noktaları var mı? Yorumlarda bize bildirin.