大家好,我刚做了一个用GOOGLE搜索引擎查资料的小软件,方便我找些论文。结果查的频率肯太快,被GOOGLE封了,出现了“您的查询看起来类似于来自计算机软件的自动请求。为了保护我们的用户,请原谅我们现在暂时不能处理您的请求。”。
请大家告诉我有什么办法解决呢?如果能编程解决是最好了,实在不行,能不能花钱去GOOGLE买通行证之类的?
希望大家帮帮忙,告诉我解决的办法,我这几天加油赚分,解决了全部身家献上!!再次感谢!!
请大家告诉我有什么办法解决呢?如果能编程解决是最好了,实在不行,能不能花钱去GOOGLE买通行证之类的?
希望大家帮帮忙,告诉我解决的办法,我这几天加油赚分,解决了全部身家献上!!再次感谢!!
解决方案 »
- 使用Excel.Application 导出Excel的问题
- DataGridView 嵌套 DataGridView ^^~
- 请教高人如何在vs2005里面debug时看到变量内存地址
- 百分提问,DLL引用失败
- 在winform上用Graphics画一个圆,如何用鼠标移动到圆上,圆的颜色改变?
- 用公共静态变量的兄弟们注意了--
- 急,帮个忙,谁有C#串口操作的原代码呢?
- 开发一个activeX控件,我该怎么入手??
- winform 的调用问题,大家来帮帮我
- picturebox中如何正确显示imagelist中已有的图像?
- textbox如何设置多行输入 获取各行文本 ??
- c#字符串中有"符
和数据采集原理 差不多的。
http://www.haozs.net/proxyip//// <summary>
/// 下载文件
/// </summary>
/// <param name="PageUrl">网址</param>
/// <param name="filename">保存文件路径</param>
public void DownFile(string PageUrl, string filename)
{
if (!Directory.Exists(filename))
{
Directory.CreateDirectory(filename);
}
string path = PageUrl.Substring(PageUrl.LastIndexOf("/") + 1);
string dirname = filename + "\\" + path;
if (File.Exists(dirname))
{
return;
}
else
{
try
{
WebClient wc = new WebClient();
WebProxy wp = new WebProxy(al[proxy].ToString(), true);
wc.Proxy = wp;
wc.DownloadFile(PageUrl, dirname);
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError)
{
//文件未找到--跳出
//MessageBox.Show(ex.ToString());
return;
}
else
{
//换代理 IP
//MessageBox.Show(ex.ToString());
proxy++;
if (proxy >= al.Count)
{
al = ReadIPproxy("e:\\test.txt");//初始化代理 IP
}
DownFile(PageUrl, filename);
}
}
} }==========
/// <summary>
/// 请求失败的时候,反复操作
/// </summary>
/// <param name="PageUrl"></param>
/// <returns></returns>
public string ToServer(string PageUrl)
{
string responseFromServer = "";
try
{
while (1 == 1)
{
WebRequest request = WebRequest.Create(PageUrl);
WebProxy wp = new WebProxy(al[proxy].ToString(), true);
request.Proxy = wp;
request.Timeout = 1000 * 45; HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader=null;
reader = new StreamReader(dataStream, System.Text.Encoding.Default);
responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
if (responseFromServer.Contains("refresh") || responseFromServer == "")
{
proxy++;
if (proxy >= al.Count)
{
al = ReadIPproxy("e:\\test.txt");//初始化代理 IP
}
//ToServer(PageUrl);
}
else
{
break;
}
}
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError)
{
responseFromServer = "";
}
else
{
proxy++;
if (proxy >= al.Count)
{
al = ReadIPproxy("e:\\test.txt");//初始化代理 IP
}
ToServer(PageUrl);
}
}
return responseFromServer;
}
,想多了解一下。我这样不断换代理,不会对他们有什么伤害吧?会不会弄的代理都访问不了GOOGLE呢?因为我这个玩意的查询量确实有点离谱····希望懂的人告诉下我,个人不是太理解!我在今后的一个月里面,都会不断发赚分帖,然后把分都投到这里来,希望大家能继续指点,非常感谢。PS:CSDN的热心人确实很多,我有许多困惑都在这里得到解决了,再次感谢大家!
你们相互竞争,对他来说 当然有影响了,抢他饭碗但是对于 那些网站来说 ,利:提高了访问量 弊: 增加了服务器的压力。
每个IP做20次搜索,然后换另一个IP继续做20次搜索,
这样下来的话每个IP都有一定的间隔期了。。
这里面是google的官方开发页面
你写程序的时候尽量采用官方的,他不会连自己的方式都给封了吧
希望能继续得到大伙的意见~