Mājas lapa » » Kā iegūt saites no jebkuras tīmekļa lapas, izmantojot PowerShell

    Kā iegūt saites no jebkuras tīmekļa lapas, izmantojot PowerShell

    PowerShell 3 ir daudz jaunu funkciju, tostarp dažas jaudīgas jaunas tīmekļa funkcijas. Tie ievērojami atvieglo tīmekļa automatizāciju, un šodien mēs jums parādīsim, kā jūs varat izvilkt katru saiti no tīmekļa lapas un pēc izvēles lejupielādēt resursu, ja vēlaties.

    Tīmekļa izgriešana ar PowerShell

    Ir divi jauni cmdlet, kas atvieglo tīmekļa automatizāciju, Invoke-WebRequest, kas atvieglo cilvēka lasāmā satura izpratni, un Invoke-RestMethod, kas padara mašīnlasāmu saturu vieglāk lasāmu. Tā kā saites ir lapas HTML daļa, tās ir daļa no cilvēka lasāmiem materiāliem. Viss, kas jums jādara, lai iegūtu tīmekļa lapu, ir izmantot Invoke-WebRequest un piešķirt tam URL.

    Invoke-WebRequest -Uri 'http://howtogeek.com'

    Ja jūs ritiniet uz leju, jūs redzēsiet, ka atbildei ir saites īpašums, mēs varam izmantot PowerShell 3 jauno dalībnieku uzskaites funkciju, lai tos filtrētu.

    (Invoke-WebRequest -Uri 'http://howtogeek.com') .Links

    Kā jūs redzat, jūs saņemsiet daudz saites atpakaļ, tas ir, ja jums ir jāizmanto sava iztēle, lai atrastu kaut ko unikālu, lai filtrētu saites, kuras jūs meklējat. Pieņemsim, ka mēs vēlamies sarakstu ar visiem priekšskatījuma pantiem.

    ((Invoke-WebRequest -Uri 'http://howtogeek.com') .Links | Kur-Objekts $ _. Href-like "http *" | Kur klase -qq “title”).

    Vēl viena lieliska lieta, ko varat darīt ar jaunajiem cmdlets, ir automatizēt ikdienas lejupielādes. Apskatīsim automātiski nofotografējot dienas attēlu no Nat Geo tīmekļa vietnes, lai to izdarītu, mēs apvienosim jaunos tīmekļa cmdlet ar Start-BitsTransfer.

    $ IOTD = ((Invoke-WebRequest -Uri 'http://photography.nationalgeographic.com/photography/photo-of-the-day/').Links | Kur iekšējāHTML līdzīgs “* Lejupielādēt tapetes *”). Href
    Start-BitsTransfer -Source $ IOTD -Destination C: IOTD

    Tas viss ir ar to. Vai jums ir kādi glīti triki? Informējiet mūs komentāros.