首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpwebRequest模拟点击

HttpwebRequest模拟点击
EN

Stack Overflow用户
提问于 2011-01-09 07:31:06
回答 2查看 2.4K关注 0票数 0

我正在处理httpwebrequest,并试图搜索google get result并模拟点击所需链接。这有可能吗?

代码语言:javascript
复制
 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));
}
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-09 23:39:38

更好的选择是使用google的API之一。

这里有一个全部的列表:Google APIs

这是Codeplex上的另一个:Google Dot Net

他们有允许应用程序自由使用google的服务。其中大多数都有wsdl文件,您可以使用它们在Visual Studio中“添加Web引用”。

只有当网站没有公开公共服务时,才应该使用Regex和HtmlAgility包作为最后的手段(我最近不得不将它用于我正在编写的集成到uTorrent和BtJunkie的东西)。谷歌显然希望人们通过这些方式来开发他们的网站。

票数 1
EN

Stack Overflow用户

发布于 2011-01-09 23:33:54

您可以使用http://htmlagilitypack.codeplex.com/http://www.justagile.com/linq-to-html.aspx解析页面(如果需要,还可以使用Regexps与此工具结合使用),以找到要“单击”的元素,然后使用这个新元素处理HttpWebRequest。它正在调用http://en.wikipedia.org/wiki/Web_scraping

此外,您应该记住,如果大量请求来自您的IP地址,您的网络抓取资源可能会禁止您的IP地址,以避免您需要考虑使用代理服务器列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4636778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档