我有一個帶有WebView的NS窗口。以編程方式在WebView中打開鏈接
我的程序需要進行搜索查詢並執行Google搜索,結果顯示在WebView中,就像瀏覽器一樣。
我不想在WebView中顯示搜索結果,而是自動打開第一個鏈接並顯示結果的內容。
作爲一個更好的例子,我如何在WebView中顯示Google的第一個結果的內容?
這甚至可能嗎?
任何幫助極大的讚賞。謝謝!
我有一個帶有WebView的NS窗口。以編程方式在WebView中打開鏈接
我的程序需要進行搜索查詢並執行Google搜索,結果顯示在WebView中,就像瀏覽器一樣。
我不想在WebView中顯示搜索結果,而是自動打開第一個鏈接並顯示結果的內容。
作爲一個更好的例子,我如何在WebView中顯示Google的第一個結果的內容?
這甚至可能嗎?
任何幫助極大的讚賞。謝謝!
您可以使用直接的Google Search API。這會更方便。
https://developers.google.com/custom-search/v1/cse/list?hl=de-DE
此外,你也可以嘗試做一個谷歌請求,如「我感覺幸運」按鈕,它會自動引導你到第一個搜索結果。
如果您必須解析HTML,則需要查看Google結果頁面的HTML結構。請在div
和a
標籤中查找具體的id
和class
css屬性。如果您找到了那些實際結果,那麼您可以開始分析該內容。另外我猜想將一些javascript放在一起會更容易,它會找到第一個結果並打開它。 (比使用obj-c解析HTML更容易)。您可以使用[myWebView stringByEvaluatingJavaScriptFromString: @"put your js code here"]
在webview中評估javascript。
當然有可能。
第一種完成我腦海中的事情的方法是,解析谷歌的HTML響應,然後用您提取的第一個鏈接啓動WebView。
看一看正則表達式使其變得更容易。
感謝您的回答,這也是我的想法,但我希望得到更多的幫助。我找不到在Cocoa中解析HTML響應或如何使用REGEX的問題,有什麼想法? – Cristian 2012-04-24 14:57:25
多搜索一下,因爲我恐怕不會在這裏解釋正則表達式。另外我不知道如何在Cocoa中完成這項工作。編輯你的第一篇文章,然後等待Cocoa開發者。祝你好運 – shkschneider 2012-04-24 15:04:22
你可以使用NSRegularExpression或10.7以上的版本查看NSPredicate。 – Arvin 2013-03-08 17:55:42
非常感謝偉大的答案,當我嘗試它時,google API會導致錯誤,所以我會採用JavaScript方式。我研究了Google如何顯示結果,並找到了div,以及我想要獲取信息的class和id。現在我只需要找出如何使用stringByEvaluatingJavaScriptFromString – Cristian 2012-04-24 15:27:32
來搜索js教程。或者在這裏總共學習js:http://www.codecademy.com/ – calimarkus 2012-04-24 15:48:21
我知道javascript是如何工作的,在此之前我是一個web開發人員,我的意思是我不知道如何將javascript與可可和objective-c :) – Cristian 2012-04-24 16:17:39