我想找到我的鏈接位於給定的seatch單詞的位置,無需導航到每個頁面。是否有可能,我使用的WinForms C#獲取谷歌搜索位置
可以說,我必須找到搜索詞社交網絡鏈接facebook.com,看看哪個谷歌網頁是這個環節目前
我想找到我的鏈接位於給定的seatch單詞的位置,無需導航到每個頁面。是否有可能,我使用的WinForms C#獲取谷歌搜索位置
可以說,我必須找到搜索詞社交網絡鏈接facebook.com,看看哪個谷歌網頁是這個環節目前
老兄,你不應該用正則表達式解析HTML 。我沒有解釋爲什麼在這裏,有很多關於爲什麼在這裏的信息。一個解決方案,使使用HtmlAgilityPack和XPath的所有結果:
public IEnumerable<string> GetResults(string html) {
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//span[@class='tl']/h3/a"))
{
var value = link["href"].Value;
yield return value;
}
}
這將獲取匹配我們的XPATH //span[@class='tl']/h3/a
(SERP的項目,沒有PPC等)的所有鏈接,並返回href屬性。
一個更簡單的方法讓你的HTML是使用Web客戶端,如:
using(var wc = new WebClient())
{
return wc.DownloadString("http://www.google.com/search?q=" + HttpUtility.HtmlEncode(searchTerm));
}
顯然,你需要做的下載和比較自己,但是這應該讓你去。
嘗試使用http://code.google.com/apis/customsearch/v1/overview.html - 儘管每天限制爲100個查詢
該代碼非常錯誤。另外,它不會超出第一頁。 – SLaks 2011-01-07 19:48:33
任何想法,以改善它 – 2011-01-07 19:55:45