当我使用search.web
YQL表时,我总是收到错误:
找不到表search.web
的定义
在我的YQL语句中。即使使用SELECT url FROM search.web(0,10) WHERE query="stackoverflow"
例如。
所以我假设雅虎停止了search.web
或BOSS?有哪些替代方案?是否仍有类似的方式来抓取网络?
答案 0 :(得分:3)
我们可以在YQL博客中阅读:
我们已经删除了所有依赖于BOSS v1 API(search.web,search.image和search.news)的搜索表,因为上述BOSS v1从今天开始不再存在(http://www.ysearchblog.com/2011/06/30/you-asked-for-this-boss-v2-updates/)。
对于那些依赖这些表的人,请考虑使用社区BOSS v2表(https://github.com/yql/yql-tables/blob/master/boss/boss.search.xml)。
感谢-YQL团队
来源:Search tables and BOSS v1 in YQL Blog。
因此,您应该转移到Y之类的其他搜索服务! BOSS v2。如上所述,已经存在开放数据表,示例查询如下:
SELECT * FROM boss.search WHERE query="stackoverflow"
AND ck="your oauth consumer key"
AND secret="your oauth secret"
另一种选择是使用Bing搜索:
SELECT * FROM microsoft.bing.web WHERE query="stackoverflow"
答案 1 :(得分:1)
BOSS v1 API已被弃用(如YQL Blog所示),因此您应该使用完全相同的BOSS v2 API,但该表名为boss.search
,并且可在{{3}中使用(只需激活显示社区表或查看Yahoo YQL Dev Console)。
要使用BOSS v2 API,您需要拥有自己的使用者密钥和使用者密钥,可以通过创建新应用在GitHub生成。
样本用法:
select * from boss.search where q = "sam pullara" AND (ck = 'ConsumerKey') AND (secret = 'SECRET');