频繁调用Google api被封怎么解决,下面是调用的地方

qq_37238953 2017-01-03 02:28:39
1.Algorithms下:
public int GetPagePR(string url)
{
return SiteExplorer.GooglePageRankNew.GetPageRank(url);//用到
}

2.WebEngine下:
public static ArrayList ExtractBackLinks(URL url)
{
PageInfo page = cache.GetPageInfo(url, true);

if (null == page.BackLinkList)
{
page.BackLinkList = GetBackLinks(url, SearchEngineType.Google);
}

return page.BackLinkList;
}
private static ArrayList GetBackLinks(URL url, SearchEngineType type)
{
return Search("link:" + url.Url, WebAccessConfig.I_MAX_BACK_LINK, type);
}
public static ArrayList Search(string query, int searchLimit, SearchEngineType type)
{
string pageSource = "";

query = System.Web.HttpUtility.UrlEncode(query);

switch (type)
{
case SearchEngineType.Google:
pageSource = GoogleSearch(query, searchLimit);
break;
case SearchEngineType.Yahoo:
pageSource = YahooSearch(query, searchLimit);
break;
}
return HTMLParser.ExtractSearchResults(pageSource, type, searchLimit);
}
private static string GoogleSearch(string query, int searchLimit)
{
string pageSource = null;

try
{
string url = "http://www.google.com/search?num=" + searchLimit + "&complete=1&hl=en&start=0&sa=N&q=" + query;

URL u = new URL(url);

pageSource = HTTPProtocol.RetrieveHTMLSource(HTTPProtocol.Request(u), u);
//string pageSource = HTTPProtocol.RetrieveHTMLSource(u);
}
catch (Exception e)
{
WebAccessLog.LogMessage(e.Message);
}

return pageSource;
}
...全文
605 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37238953 2017-01-03
  • 打赏
  • 举报
回复
这样直接使用主页搜索次数频繁的话会被封吗
crystal_lz 2017-01-03
  • 打赏
  • 举报
回复
你这那是使用的谷歌api 明明就是 直接用的主页搜索 谷歌的api 是有单独的域名的 返回结果也是 json 数据 以前是有这个api的 http://ajax.googleapis.com/ajax/services/search/web?v=2.0&q=关键字&start=起始位置 返回一个json数据 一次返回四个结果 不过现在这个api换地址了 我也不用了 就没管了
qq_37238953 2017-01-03
  • 打赏
  • 举报
回复
就是用Google搜索引擎得到搜索的结果
  • 打赏
  • 举报
回复
你这估计是每秒钟几百几千次请求,你这是爬虫行为吧?

110,525

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧