Вопрос по регулярному выражению в C #: получение результатов поиска Google - PullRequest
1 голос
/ 02 февраля 2010

Я хочу сохранить результаты поиска Google (как заголовок, так и ссылку) в базе данных. HTML-код результатов поиска выглядит так:

<br/>
THETITLE

И на каждой странице 10 результатов. Может кто-нибудь показать мне, как получить THEURL и THETITLE?

Большое спасибо!

Ответы [ 3 ]

3 голосов
/ 02 февраля 2010

Вам следует попробовать Html Agility Pack . HTML-парсер - это правильный способ чтения содержимого HTML, не регулярные выражения .

НО , если вы хотите попробовать на свой страх и риск:

<h3 class=r><a .*? href="(?<url>[^"]*)".*?>(?<title>.*?)</a></h3>

У вас будут проблемы с:

  • Разрывы строк
  • Несовпадающие теги
  • Незначительные изменения HTML

Итак, удачи!

1 голос
/ 02 февраля 2010

Для начала я бы не советовал использовать для этого regex, используйте ' Html Agility Pack ' для анализа HTML-документа.

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

0 голосов
/ 02 февраля 2010

Попробуйте вместо этого использовать Google AJAX Search API. Это будет проще как для вас, так и для серверов Google. Есть некоторые инструкции по его использованию вне среды JavaScript . Они не приводят пример C #, но это не должно быть сложно адаптироваться к вашим потребностям, используя один из JSON API для C #.

Если вы придерживаетесь HTML, я также рекомендую HTML Agility Pack.

Вам также следует подумать о кэшировании, чтобы минимизировать как устаревшие данные, так и ненужные запросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...