从谷歌和雅虎收集搜索结果的程序[关闭]

Posted

技术标签:

【中文标题】从谷歌和雅虎收集搜索结果的程序[关闭]【英文标题】:A program that gather search results from Google and Yahoo [closed] 【发布时间】:2011-11-02 02:19:40 【问题描述】:

我想在 Google Yahoo 上搜索仅限于特定国家/地区的论坛和博客文章。结果将被保存到数据库中以供排序和进一步处理。

从每个搜索结果中,我需要:

网址本身 日期和时间 域

我正在开发一个程序,它接受关键字作为输入,该程序将自动在 Google 和 Yahoo 上搜索并将结果保存到数据库中。

function OnLoad() 
  // Create a search control
  var searchControl = new google.search.SearchControl();

  // Add in a full set of searchers
  var localSearch = new google.search.LocalSearch();
  searchControl.addSearcher(localSearch);
  searchControl.addSearcher(new google.search.WebSearch());
  searchControl.addSearcher(new google.search.VideoSearch());
  searchControl.addSearcher(new google.search.BlogSearch());
  searchControl.addSearcher(new google.search.NewsSearch());
  searchControl.addSearcher(new google.search.ImageSearch());
  searchControl.addSearcher(new google.search.BookSearch());
  searchControl.addSearcher(new google.search.PatentSearch());

  // Set the Local Search center point
  localSearch.setCenterPoint("New York, NY");

  // tell the searcher to draw itself and tell it where to attach
  searchControl.draw(document.getElementById("searchcontrol"));

  // execute an inital search
  searchControl.execute("VW GTI");

google.setOnLoadCallback(OnLoad);

此代码来自 Google AJAX 搜索 API,但似乎没有办法将域、国家、日期和时间指定为搜索条件。此外,它以 html 格式返回结果,很难将其分割并作为搜索结果条目保存到数据库中。

已编辑以描述我的具体问题。

【问题讨论】:

感谢没有 cmets 的投反对票 广泛,无代码,请参阅常见问题解答,了解什么是合适的问题,什么不是合适的问题。 【参考方案1】:

解析原始 HTML 应该是您最后的手段。如果他们改变了标记,你必须重新设计你的解析器。这几乎可以保证在您提到的使用 Google 的 AJAX 搜索 API 的“3 年”时间段之前发生。

【讨论】:

我同意解析 HTML 是一个非常糟糕的解决方案。然而,似乎没有办法以编程方式存储结果,除非依赖第三方库,这可能是不可靠的。 (a) 第三方库将比 HTML 抓取更可靠。 (b) 您提出问题的方式,我不确定您如何依赖第三方资源,因为您想从 Google 和/或 Yahoo 那里获取信息。

以上是关于从谷歌和雅虎收集搜索结果的程序[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从谷歌财经/雅虎财经获取报价

从谷歌金融、雅虎金融或交易所本身获取股票报价

雅虎金融 API 的查询限制是多少?

使用java在雅虎中搜索[关闭]

从谷歌搜索中提取结果数量

chrome浏览器一键切换搜索引擎,一键切换谷歌和百度搜索