В настоящее время я пытаюсь использовать Powershell для очистки страниц ссылок с определенного сайта. Выложили вариацию текущего кода, но это очень важно.Получить первый поиск Результат от google
Я пытаюсь получить URL-адрес для поиска результатов поиска Google. Я добавил скриншот ниже, чтобы объяснить, что я надеюсь схватить.
Я до сих пор есть следующий код, который преобразующий текст успешного поиска и работы в качестве expected.however при вызове с Invoke-WebRequest я не получаю каких-либо значимых результатов. при использовании браузера со ссылкой он работает нормально
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
Может ли кто-либо любезно помочь в решении этой проблемы?
Вы на самом деле не сказать, что проблема? Однако, когда вызывается с Invoke-WebRequest _..... – Matt
Страница Google динамически заполняется, поэтому ответ не содержит ничего полезного, вам нужно использовать InternetExplorer.Application, есть много примеров этого. Или переключитесь на другую поисковую систему с API. – wOxxOm
, вы можете взглянуть на Microsoft Cognitive Services https://www.microsoft.com/cognitive-services/en-us/apis –