如何将所有维基百科文章标题作为我网站的自动完成标签?

时间:2014-05-01 23:43:43

标签: ruby-on-rails wikipedia

我认为将标签/令牌与自动完成功能合并是一件好事。我将使用维基百科文章标题来动态构建可能的令牌列表(从而启用自动完成。)我使用的是Rails 4和Ruby,但任何指针都会很棒,我不知道从哪里开始。

目的是让用户不仅仅将任何东西组成标签(例如,将自己标记为咒骂+名词。)如果有可能保持这个主列表更新(这就是我所谓的“动态”) ,它会很棒。但即使手动更新也没关系。

到目前为止,我假设它的一部分将包含一个只搜索的网页抓取工具:维基百科上的标题字段。我使用Postgres作为我的DB。

一旦我有了一个列表,我可以使用jquery令牌字段gem或者选择gem这样的东西,就像我从Railscasts那里学到的那样。在这两个示例中,有一个列表启用了令牌的自动完成功能。我想要那个确切的东西,但要从维基百科的标题中获取它们。 http://railscasts.com/episodes/258-token-fields-revised

这将在Rails 4中完成,我正在使用Postgres。我也可能会在Heroku上。

1 个答案:

答案 0 :(得分:0)

你可以使用API​​来获取以用户输入的内容开头的标题,如下所示:api.php?action=query&list=allpages&apfrom=Bav&aplimit=5(假设英文维基百科在这里)。添加&format=json&format=xml

然而,许多建议在维基百科以外的其他环境中毫无意义,例如:带有消歧后缀的标题:Bac。你可以想到的大多数expletives和名词都会存在,所以它也不会很好地解决它们。

如果您计划在访问量很大的网站上使用该功能,您应该download并自己托管标题列表,而不是在维基媒体服务器上加载额外的负载。