
PowerShell 3 tiene muchas funciones nuevas, incluidas algunas funciones nuevas y potentes relacionadas con la web. Simplificaron enormemente la automatización de la Web, y hoy vamos a mostrar cómo puede extraer cada enlace de una página web y, opcionalmente, descargar el recurso si lo desea.
Hay dos nuevos cmdlets que facilitan la automatización de la web, Invoke-WebRequest que facilita el análisis de contenido legible por humanos, e Invoke-RestMethod que hace que el contenido legible por máquina sea más fácil de leer. Como los enlaces son parte del HTML de una página, forman parte de las cosas legibles para los humanos. Todo lo que tienes que hacer para obtener una página web es usar Invoke-WebRequest y darle una URL.
Invoke-WebRequest -Uri '//phhsnews.com'

Si te desplazas hacia abajo verás que la respuesta ha sido una propiedad de enlaces, podemos usar la función de enumeración de miembros nuevos de PowerShell 3 para filtrarlos.
(Invoke-WebRequest -Uri '//phhsnews.com'). Enlaces

Como puede ver, obtiene mucho de enlaces hacia atrás, aquí es donde necesita usar su imaginación para encontrar algo único para filtrar los enlaces que está buscando. Supongamos que queremos una lista de todos los artículos en la página principal.
((Invoke-WebRequest -Uri '//phhsnews.com') .Links | Where-Object {$ _. Href -like "http * "} | Donde clase -eq" título "). Título

Otra gran cosa que puedes hacer con los nuevos cmdlets es automatizar las descargas diarias. Veamos cómo raspa automáticamente la imagen del día fuera del sitio web de Nat Geo, para ello combinaremos los nuevos cmdlets web con Start-BitsTransfer.
$ IOTD = ((Invoke-WebRequest -Uri ' // photography.nationalgeographic.com/photography/photo-of-the-day/').Links | Where innerHTML -like "* Descargar Wallpaper *"). href
Start-BitsTransfer-Source $ IOTD -Destination C: IOTD
Eso es todo lo que hay que hacer. ¿Tienes algunos buenos trucos propios? Háganos saber en los comentarios.
¿Necesita "expulsar" dispositivos MTP conectados a Windows?
Todos sabemos que hay una forma correcta y una incorrecta de desconectar los dispositivos de almacenamiento masivo USB de nuestras computadoras, pero el mismo principio se aplica a los dispositivos MTP? La publicación de preguntas y respuestas SuperUser de hoy tiene la respuesta a la pregunta de un lector curioso.
¿Qué es el software de código abierto y por qué es importante?
Los geeks a menudo describen los programas como de "código abierto" o "software libre". Si se pregunta exactamente qué significan estos términos y por qué son importantes, sigue leyendo. (No, el "software libre" no solo significa que puede descargarlo gratis.) Ya sea que un programa sea de código abierto o no, no solo le importa a los desarrolladores, también es importante para los usuarios.