2011-01-08 19 views
0

私はhttpwebrequestに取り組んでいました。結果を得るためにgoogleを検索しようとしていました。それは可能ですか?HttpwebRequest Simulate Click

string raw ="http://www.google.com/search?hl=en&q={0}&aq=f&oq=&aqi=n1g10"; 
string search = string.Format(raw, HttpUtility.UrlEncode(searchTerm)); 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(search); 
request.Proxy = prox; 
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
{ 
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII)) 
{ 
HtmlElementCollection html = reader.ReadToEnd(); 
browserA=reader.ReadToEnd(); 
this.Invoke(new EventHandler(IE1)); 
} 
} 
+0

WebBrowserコントロールでこれを行う必要があります。 – leppie

+0

他の方法はありますか? –

答えて

1

より良い選択肢は、GoogleのAPIのいずれかを使用することです。 CodePlexの上のここGoogle APIs

ある別::彼らは、アプリケーションが自由にグーグルを使用できるようにするサービスを持っているGoogle Dot Net

ここではそれらのすべてのリストがあります。これらのほとんどには、Visual Studioで "Web参照の追加"に使用できるwsdlファイルがあります。

RegexとHtmlAgilityパックを使用することは、ウェブサイトが公共サービスを公開していないときにのみ最後の手段として使用する必要があります(私はuTorrentとBtJunkieに統合するために最近使用していました)。 Googleは明らかに、人々がこれらの方法で自分のサイトを開発することを望んでいる。

1

あなたは、「クリック」して、この新しい要素では、HttpWebRequestを処理したい要素を見つけるために、(このツールと連携して、必要に応じても、あなたは正規表現を使用する場合があります)http://htmlagilitypack.codeplex.com/またはhttp://www.justagile.com/linq-to-html.aspxを使用してページを解析できます。それはhttp://en.wikipedia.org/wiki/Web_scrapingを呼び出しています。

また、プロキシサーバーのリストの使用について考える必要がないように、IPアドレスからの要求が多い場合は、WebスクレイピングによってIPアドレスが禁止されることがあります。

+0

regex'esの使用について:http://stackoverflow.com/questions/1732348 –

+0

Regexで完全なHTMLページを解析する助言はありませんでしたが、Regex fegをHtmlAgilityPackと組み合わせて使用​​することは可能です状況に応じて必要とされます。しかし、とにかく私は明確にするために私の答えを編集しました。 – Kuncevic

関連する問題