2008-09-03 159 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

对于VB.NET中的一般HTML屏幕抓取,请查看HTML Agility Pack。比尝试正则表达式要容易得多(除非你碰巧是一个正则表达式的忍者!)

你在回答中提到的页面很容易自动化,因为地址格式一致。

但是,要让用户指向任何页面,这是一个更难的工作。数据可以是任何格式。你可以写一些东西来转储所有的文本,猜猜它们是如何分割的,尝试和识别国家和州名,电话号码等位,然后用一个界面显示你的结果,让用户完成缺失的部分,移动分隔符,并识别你错过或不想要的位。

虽然这并不简单,但是使界面与简单地剪切和粘贴到验证的表单域中相比具有很大的优势,这是我认为的一个成就 - 我会很有兴趣知道如何继续下去!

编辑:只注意到一些可能包括相当多的,你想做什么这个其他问题: Parse usable Street Address, City, State, Zip from a string