
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.
Use la herramienta sin conexión de Windows Defender para reparar una PC infectada
El otro día tuve un cliente cuya PC estaba prácticamente muerta porque hicieron clic en uno de esos anuncios emergentes mientras estaba en un sitio web incompleto. Algo se descargó y su computadora se infectó con malware y no se cargaría correctamente. Al intentar iniciar sesión en Windows, siguieron recibiendo un error como el siguiente: La inicialización del proceso de inicio de sesión interactivo ha fallado Quién sabe lo que eso significa. De todo
¿Por qué algunos correos electrónicos tienen cadenas sin sentido de caracteres como encabezados?
La mayoría de las veces, nuestro correo electrónico llega sin problemas o caprichos, pero ¿por qué algunos llegan con cadenas de caracteres sin sentido como encabezados? La publicación de preguntas y respuestas SuperUser de hoy tiene la respuesta a una pregunta desconcertada del lector. La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios de preguntas y respuestas impulsada por la comunidad.