Google 搜索建议 api

Google search suggestion api

我正在尝试使用 c# 抓取 Google 搜索建议,但无法解析看起来像 json.

的响应

我用的url是 http://clients1.google.com/complete/search?client=youtube&hl=en&gl=us&gs_rn=23&gs_ri=youtube&ds=yt&cp=2&gs_id=d&q=jk

这里是响应数据的示例

window.google.ac.h(["jk",[["jk news",0],["jkfilms",0],["jk party",0],["jkt48 kokoro no placard",0],["jkt48 river",0],["jk simmons",0,[3]],["jkn",0],["jkt48",0],["jk rowling",0],["jkt48 fortune cookie",0]],{"q":"M9pm0qoSNfax1agFT10pPSqRq54","j":"d","k":1}])

我尝试使用 json.net 和字符串操作,如 trim、替换、删除等,但均未成功 有什么简单的方法可以将建议的关键字放入数组中吗?

假设它总是以 window.google.ac.h( 开始并以 ) 结束那么你可以这样做:

var json = input.Replace("window.google.ac.h(", "").TrimEnd(')');

根据 http://jsonlint.com/ 生成有效的 JSON,您可以随时将其放入 JSON.NET 或类似的。

P.S。抓取这种东西可能会违反Google的服务条款,我建议你阅读它们。