J'essaie actuellement d'utiliser Powershell pour extraire des pages de liens d'un site spécifique. Ont jeté une variation du code actuel, mais il est essentiel de la même chose. J'essaye d'obtenir l'URL pour le résultat de recherche de recherche de google. J'ai ajouté la capture d'écran ci-dessous pour expliquer ce que je souhaite saisir.Premier résultat de recherche google
Je jusqu'à présent ont le code suivant qui est le texte à convertir une recherche réussie et fonctionne comme expected.however lorsqu'elle est appelée avec Invoke-WebRequest je n'obtenir des résultats significatifs. lorsque vous utilisez un navigateur avec le lien cela fonctionne sucsessfully
function Get-GoogleSEQueryString
{
param([string[]] $Query)
Add-Type -AssemblyName System.Web # To get UrlEncode()
$QueryString = ($Query | %{ [Web.HttpUtility]::UrlEncode($_)}) -join '+'
# Return the query string
$QueryString
}
$SearchString = "Requiem for an American Dream"
$QueryString = Get-GoogleSEQueryString $SearchString
$url = "http://www.google.com.au/?gfe_rd=cr&ei=ZuzTV_v6B7Du8weC8qsY#q="+$QueryString+"+site:IMDB.com"
#(Invoke-WebRequest -Uri $url).links | Where-Object {$_.href -like "http*"}
$t = Invoke-WebRequest -uri $url
$t.AllElements | Where {$_.innerhtml -like '*=*'} |Sort { $_.InnerHtml.Length } | Out-GridView
Quelqu'un peut-il bien voulu aider en ce qui concerne ce problème?
Vous ne dites pas vraiment ce que le problème est? _however quand appelé avec le Invoke-WebRequest _..... – Matt
La page de Google est dynamiquement peuplée ainsi la réponse ne contient rien d'utile, vous devrez employer InternetExplorer.Application, il y a beaucoup d'exemples de faire cela. Ou basculez vers un moteur de recherche différent avec une API. – wOxxOm
vous pourriez vouloir jeter un oeil à Microsoft Cognitive Services https://www.microsoft.com/cognitive-services/en-us/apis –