HttpwebRequest Имитация клика - PullRequest
0 голосов
/ 09 января 2011

Я работал над httpwebrequest и пытался найти в Google получить результат и смоделировать переход по нужной ссылке.Это возможно?

 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));
}
}

Ответы [ 2 ]

1 голос
/ 09 января 2011

Лучшим вариантом является использование одного из API Google.

Список всех них здесь: API Google

Вот еще один кодекс: Google Dot Net

У них есть службы, позволяющие приложениям свободно использовать Google. В большинстве из них есть файлы wsdl, которые вы можете использовать для добавления веб-ссылки в Visual Studio.

Использование пакетов Regex и HtmlAgility следует использовать только в качестве крайней меры, когда веб-сайт не предоставляет общедоступных служб (мне пришлось использовать его недавно для того, что я пишу, чтобы интегрировать в uTorrent и BtJunkie). Google, очевидно, хочет, чтобы люди разрабатывали свои сайты таким образом.

1 голос
/ 09 января 2011

Вы можете проанализировать страницу, используя http://htmlagilitypack.codeplex.com/ или http://www.justagile.com/linq-to-html.aspx (также вы можете использовать Regexps, если это необходимо в сочетании с этими инструментами), чтобы найти элементы, которые вы хотите «нажать», а затем обработать HttpWebRequest с помощью это новые элементы. Звонит http://en.wikipedia.org/wiki/Web_scraping.

Также вы должны помнить, что ресурс, который вы просматриваете в Интернете, может запретить ваш IP-адрес, если с вашего IP-адреса поступает много запросов, чтобы вам не приходилось задумываться об использовании списка прокси-серверов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...