2012-04-24 4 views
0

У меня есть окно NS с WebView.Программно открытая ссылка в WebView

Моя программа принимает поисковый запрос и выполняет с ним поиск Google, результаты отображаются в WebView, например, в браузере.

Вместо того, чтобы отображать результаты поиска в WebView, я хотел бы автоматически открыть первую ссылку и отобразить содержимое этого результата.

Как лучший пример, как отображать содержимое первого результата Google в WebView?

Возможно ли это?

Любая помощь очень ценится. Благодаря!

ответ

3

Вы можете использовать прямой API поиска Google. Это было бы более удобно.
https://developers.google.com/custom-search/v1/cse/list?hl=de-DE

Кроме того, вы также можете попробовать сделать запрос Google, как кнопки «Мне повезет», который направит вас автоматически к первому результату поиска.

Если вам нужно проанализировать HTML, вам нужно взглянуть на структуру HTML на странице результатов Google. Ищите конкретные id и class css свойства в div и a теги. Если вы нашли те, где фактические результаты, вы можете начать синтаксический анализ этого контента. Кроме того, я думаю, было бы проще скомпоновать некоторые javascript, которые найдут первый результат и откроют его. (Более просто, чем разбор HTML с помощью obj-c). Вы можете оценить javascript в webview с помощью [myWebView stringByEvaluatingJavaScriptFromString: @"put your js code here"].

+0

Большое спасибо за отличный ответ, Google API приводит к ошибке при попытке, поэтому я поеду на JavaScript. Я посмотрел, как Google отображает результаты, и нашел div с классом и идентификатором, где я хочу получить информацию. Теперь мне просто нужно выяснить, как получить это с помощью stringByEvaluatingJavaScriptFromString – Cristian

+0

для поиска js tutorials. или узнать js в общей сложности здесь: http://www.codecademy.com/ – calimarkus

+0

Я знаю, как работает javascript, я был веб-разработчиком до этого, я имел в виду, что я не знаю, как совместить javascript с какао и объектно-c :) – Cristian

0

Уверенный возможен.

Первый способ выполнить то, что проходит через мою голову, - разобрать ответ HTML от Google, а затем запустить WebView с первой ссылкой, которую вы извлекли.

Посмотрите на регулярные выражения, чтобы это стало проще.

+0

спасибо за ваш ответ, это то, что я имел в виду, но я надеялся на немного больше помощи. Я не могу найти ничего о разборе HTML-ответов в Cocoa или о том, как использовать REGEX на нем, какие-либо идеи? – Cristian

+0

Найдите немного больше, потому что я не буду объяснять регулярные выражения здесь, я боюсь. Плюс я не знаю, как это сделать в Какао. Отредактируйте свой первый пост и дождайтесь разработчика Cocoa. Удачи – shkschneider

+0

Вы можете использовать NSRegularExpression или для более старых, чем 10.7, взгляните на NSPredicate. – Arvin

Смежные вопросы