Web刮取来自不同站点的数据

时间:2014-05-31 12:27:44

标签: java web-scraping matching

我正在寻找一些关于如何解决设计问题的想法,我将面临构建网络刮刀以刮取多个网站的问题。编写刮刀不是问题,匹配来自不同站点的数据(可能有很小的差异)是。

为了通用,我假设我正在从两个或更多不同的网站上抓取这样的东西:

    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

1 个答案:

答案 0 :(得分:0)

有许多算法(commons-codec上有许多常用的算法)来尝试识别相似或相同的名称。我不知道任何可以帮助“昵称”的东西。