0
我目前正在嘗試使用Powershell從特定網站中抓取鏈接頁面。已經打破了當前代碼的變體,但它是必不可少的。從谷歌獲取第一個搜索結果
我正在嘗試獲取搜索谷歌搜索結果的URL。我添加了下面的截圖來解釋我希望抓住的東西。
我到目前爲止有以下代碼是將文本轉換到一個成功的搜索,並正在爲expected.however當與調用-的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
你可能想看看微軟認知服務 https://www.microsoft.com/cognitive-services/en-us/apis –