Извлечение адресной информации с веб-страницы - PullRequest
3 голосов
/ 04 сентября 2008

Мне нужно взять веб-страницу и извлечь информацию об адресе со страницы. Некоторые из них легче, чем другие. Я ищу плагин Firefox, приложение для Windows или код VB.NET, который поможет мне в этом.

В идеале я хотел бы, чтобы у нашего администратора была веб-страница (ASP.NET/VB.NET), где вы вводите URL-адрес, и он удаляет страницу и возвращает набор данных, который я могу поместить в таблицу.

Ответы [ 4 ]

1 голос
/ 31 октября 2008

Для общего просмотра экрана HTML в VB.NET, проверьте HTML Agility Pack . Гораздо проще, чем пытаться его Regex (если только вы не являетесь уже ниндзя Regex!)

Страницу, которую вы упомянули в своем ответе, было бы легко автоматизировать, поскольку адреса представлены в едином формате.

Но позволить пользователям указывать на любую страницу, это гораздо сложнее. Данные могут быть в любом формате. Вы можете написать что-нибудь, чтобы выгрузить весь текст, угадать, как они разделены, попытаться распознать биты, такие как названия стран и штатов, номера телефонов и т. Д., И затем получить результаты своего отображения с помощью интерфейса, который позволит пользователям заполнять недостающие разделы, перемещать делители, и определить биты, которые вы пропустили или не хотели.

Хотя это не просто, и создание интерфейса, обеспечивающего большое преимущество по сравнению с простым вырезанием и вставкой в ​​проверенные поля формы, было бы довольно большим достижением, я думаю - мне было бы интересно узнать, как вы ладите!

РЕДАКТИРОВАТЬ: Только что заметил этот другой вопрос, который может охватить довольно многое из того, что вы хотите сделать: Разбор пригодного адреса, города, штата, почтового индекса из строки

1 голос
/ 04 сентября 2008

Аза Раскин говорил о распознавании, когда выбранный текст является адресом, в своем предложении Firefox: улучшенная новая вкладка . Пока нет кода, но я упоминаю об этом, поскольку в Firefox может быть код, который сделает это в будущем.

Кроме того, вы можете посмотреть на использование команды map в Ubiquity , хотя вам придется выбирать адреса самостоятельно.

1 голос
/ 04 сентября 2008

Если вы знаете формат страницы (например, если они все похожи на эту страницу ashnha.com), тогда довольно легко написать код VB.NET, который делает это:

  1. Создайте System.Net.WebRequest и прочитайте ответ в строку.
  2. Затем создайте System.Text.RegularExpressions.Regex и перебрать коллекцию Соответствует между этим и строкой Вы только что получили. Для каждого матча создать новую строку в DataTable.

Трудно написать регулярное выражение, которое является черным искусством. См. regexlib.com , чтобы найти множество инструментов, книг и т. Д. О регулярных выражениях.

Если формат HTML недостаточно четко определен для регулярного выражения, то вам, вероятно, придется полагаться на некоторое вмешательство пользователя, чтобы определить, какие биты являются адресами ...

1 голос
/ 04 сентября 2008

На какой адрес вы ссылаетесь?

Существует несколько плагинов FireFox Operator & Tails , которые позволяют извлекать и просматривать микроформаты с веб-страниц.

...