2012-04-24 72 views
0

我有一個帶有WebView的NS窗口。以編程方式在WebView中打開鏈接

我的程序需要進行搜索查詢並執行Google搜索,結果顯示在WebView中,就像瀏覽器一樣。

我不想在WebView中顯示搜索結果,而是自動打開第一個鏈接並顯示結果的內容。

作爲一個更好的例子,我如何在WebView中顯示Google的第一個結果的內容?

這甚至可能嗎?

任何幫助極大的讚賞。謝謝!

回答

3

您可以使用直接的Google Search API。這會更方便。
https://developers.google.com/custom-search/v1/cse/list?hl=de-DE

此外,你也可以嘗試做一個谷歌請求,如「我感覺幸運」按鈕,它會自動引導你到第一個搜索結果。

如果您必須解析HTML,則需要查看Google結果頁面的HTML結構。請在diva標籤中查找具體的idclass css屬性。如果您找到了那些實際結果,那麼您可以開始分析該內容。另外我猜想將一些javascript放在一起會更容易,它會找到第一個結果並打開它。 (比使用obj-c解析HTML更容易)。您可以使用[myWebView stringByEvaluatingJavaScriptFromString: @"put your js code here"]在webview中評估javascript。

+0

非常感謝偉大的答案,當我嘗試它時,google API會導致錯誤,所以我會採用JavaScript方式。我研究了Google如何顯示結果,並找到了div,以及我想要獲取信息的class和id。現在我只需要找出如何使用stringByEvaluatingJavaScriptFromString – Cristian 2012-04-24 15:27:32

+0

來搜索js教程。或者在這裏總共學習js:http://www.codecademy.com/ – calimarkus 2012-04-24 15:48:21

+0

我知道javascript是如何工作的,在此之前我是一個web開發人員,我的意思是我不知道如何將javascript與可可和objective-c :) – Cristian 2012-04-24 16:17:39

0

當然有可能。

第一種完成我腦海中的事情的方法是,解析谷歌的HTML響應,然後用您提取的第一個鏈接啓動WebView。

看一看正則表達式使其變得更容易。

+0

感謝您的回答,這也是我的想法,但我希望得到更多的幫助。我找不到在Cocoa中解析HTML響應或如何使用REGEX的問題,有什麼想法? – Cristian 2012-04-24 14:57:25

+0

多搜索一下,因爲我恐怕不會在這裏解釋正則表達式。另外我不知道如何在Cocoa中完成這項工作。編輯你的第一篇文章,然後等待Cocoa開發者。祝你好運 – shkschneider 2012-04-24 15:04:22

+0

你可以使用NSRegularExpression或10.7以上的版本查看NSPredicate。 – Arvin 2013-03-08 17:55:42