2008-09-03 3 views
3

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

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

ответ

1

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

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

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

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

1

В какой адресной информации вы имеете в виду?

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

1

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

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

1

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

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

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

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

EDIT: Просто заметил, это другой вопрос, который может охватить совсем немного того, что вы хотите сделать: Parse usable Street Address, City, State, Zip from a string

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

  • Нет связанных вопросов^_^