2014-05-09 79 views
-1

我正在嘗試使用YQL查詢簡單的Google搜索,但顯然看起來不起作用。這裏是我的確切查詢YQL |爲什麼我得到一個語法錯誤?

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%27https%3A%2F%2Fwww.google.com/search?q=Google+Guice&ie=utf-8%27%0A&format=json 

和錯誤是

{"error":{"lang":"en-US","description":"Query syntax error(s) [line 1:74 mismatched character ' ' expecting ''']"}} 

的誤差手一指1:74這是近20where。這也是URL的編碼版本,我很難準確理解錯誤的位置。

+0

你真的應該可以通過一點探索來解決這個問題。什麼是*實際*未編碼查詢?請注意報價後的最後一個字符(%27)。 – user2864740

回答

1

這是你的網址:

http://query.yahooapis.com/v1/public/yql? 
q=select%20*%20from%20html%20where%20url%3D%27https%3A%2F%2F 
www.google.com/search?q=Google+Guice&ie=utf-8%27%0A&format=json 

查詢部分分爲以下(由&分離)的網址:

+--------+---------------------------------------------------+ 
| q  | select%20*%20from%20html%20where%20url%3D%27https | 
|  | %3A%2F%2Fwww.google.com/search?q=Google+Guice  | 
+--------+---------------------------------------------------+ 
| ie  | utf-8%27%0A          | 
+--------+---------------------------------------------------+ 
| format | json            | 
+--------+---------------------------------------------------+ 

正如你所看到的,YQL沒有收到完整的查詢字符串正如你想要的那樣。這是因爲應該應該是查詢字符串的一部分的&字符不是url編碼的%26

URL應該看起來像...... Guice%26ie=utf ...。


旁白:還有,你將要面對的一些其他問題。首先,嵌入到查詢中的Google搜索網址格式不正確,因爲它將包含GoogleGuice之間的文字空格字符,Google不接受該字符。其次,該網址受Google的robots.txt限制,因此即使網址已修復,您也無法從該網址獲得任何結果。

相關問題