【发布时间】:2014-07-21 03:01:39
【问题描述】:
我正在寻找一些关于如何解决设计问题的想法,我将面临构建一个网络抓取工具来抓取多个网站的问题。编写爬虫不是问题,匹配来自不同站点的数据(可能有小的差异)是问题。
为了通用起见,假设我从两个或多个不同的站点抓取类似的内容:
public class Data {
public int id;
public String firstname;
public String surname;
....
}
如果我从两个不同的网站上抓取这个,我会遇到以下情况:
站点 A:id=100,firstname=William,surname=Doe
站点 B:id=1974,firstname=Bill,surname=Doe
本质上,我想将这两组数据视为相同的(他们是同一个人,但在每个站点上他们的名字略有不同)。我正在寻找可以解决此问题的可能设计解决方案。
我想出的唯一想法是从第三个位置抓取数据并将其用作参考列表。然后,当我抓取站点 A 或 BI 时,随着时间的推移,可以建立一个失败列表并将它们存储在每个抓取器的列表中,以便它可以知道(如果我找到 id=100 那么我知道名字将是 William 等)。我不禁觉得这是个垃圾主意!
如果您需要更多信息,或者您认为我的描述有点不妥,请告诉我!
谢谢,
DMcB
【问题讨论】:
-
那么,你的问题到底是什么?
标签: java web-scraping matching