想写一个给google提交搜索词,然后处理搜索结果的小程序。使用google api好像结果要少很多,所以放弃。
使用HttpWebRequest提交搜索词,代码如下: Encoding myEncoding = Encoding.GetEncoding("utf-8");
string address = "http://www.google.com.hk/search?hl=zh-CN&safe=strict&" + HttpUtility.UrlEncode("q", myEncoding) + "=" + HttpUtility.UrlEncode("test", myEncoding);
address = address + "&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=f&aqi=&aql=&oq=&gs_rfai=";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(address);
req.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"; req.MaximumAutomaticRedirections = 1;
req.AllowAutoRedirect = true;
req.Method = "GET"; CookieContainer cookieCon = new CookieContainer();
req.CookieContainer = cookieCon; using (HttpWebResponse wr = (HttpWebResponse)req.GetResponse())
{
this.webGDemo.DocumentStream = wr.GetResponseStream();
}代码从网上copy,但是执行到req.GetResponse处,程序报“尝试自动重定向的次数太多”,搜了下,说是cookie初始化的问题。抓包却不知道如何设置,请各位指点。谢谢!
使用HttpWebRequest提交搜索词,代码如下: Encoding myEncoding = Encoding.GetEncoding("utf-8");
string address = "http://www.google.com.hk/search?hl=zh-CN&safe=strict&" + HttpUtility.UrlEncode("q", myEncoding) + "=" + HttpUtility.UrlEncode("test", myEncoding);
address = address + "&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=f&aqi=&aql=&oq=&gs_rfai=";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(address);
req.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"; req.MaximumAutomaticRedirections = 1;
req.AllowAutoRedirect = true;
req.Method = "GET"; CookieContainer cookieCon = new CookieContainer();
req.CookieContainer = cookieCon; using (HttpWebResponse wr = (HttpWebResponse)req.GetResponse())
{
this.webGDemo.DocumentStream = wr.GetResponseStream();
}代码从网上copy,但是执行到req.GetResponse处,程序报“尝试自动重定向的次数太多”,搜了下,说是cookie初始化的问题。抓包却不知道如何设置,请各位指点。谢谢!
解析比较头疼,TAOBAO等还经常有附加的一些乱七八糟的信息,就是为了防止第三方软件抓取其信息
google不知道...
没有用WEBBROWSER。
上面的代码改改百度好像是可以的。
各位帮忙看看了!
req.CookieContainer = cookieCon;
To rl0516:我设置为256,结果还是一样。
抓包显示提交的http结果为302。
设置MaximumAutomaticRedirections=1;
req.MaximumAutomaticRedirections = 1;
req.AllowAutoRedirect = true; CookieContainer cookieCon = new CookieContainer();
req.CookieContainer = cookieCon;还是不行啊。有篇文章说要初始化cookie,我试了,还是没成功。
req.AllowAutoRedirect = true; CookieContainer cookieCon = new CookieContainer();
req.CookieContainer = cookieCon;通过了....