我有一组大小约为的搜索查询。 1000万。目标是收集搜索引擎为所有这些结果返回的命中数。例如,对于查询“stackoverflow”,Google 返回大约 47,500,000。
问题在于:
1- Google API 限制为每天 100 次查询。这对我的任务毫无用处,因为我必须得到很多计数。
2- 我使用了 Bing API,但它没有返回准确的数字。在匹配 Bing UI 中显示的命中数的意义上是准确的。以前有人遇到过这个问题吗?
3- 向搜索引擎发出搜索查询并解析 html 是一种解决方案,但它会产生验证码并且不会扩展到此查询数量。
我只关心点击次数,我愿意接受任何建议。
好吧,我真的希望有人能回答这个问题,因为这也是我有兴趣找出的东西,但由于看起来没有人会提出这些建议。
您可以设置一系列代理,每 100 个请求更改一次 IP,这样您就可以像看似不同的人一样查询 google(似乎需要大量工作)。或者你可以 download wikipedia并写一些东西来解析那里的数据,这样当你搜索一个词时,你可以看到它属于多少页。当然,这是一个比整个网络小得多的数据集,但它应该让你开始。另一个可能的数据源是 google n-grams data您可以下载并解析,以查看搜索词涉及的书籍和页数。也许这些方法的组合可以提高任何给定搜索词的准确性。
当然,这些方法都不如直接获得 google 页面计数那么好,但可以理解的是,这是他们不想免费提供的数据。