我从今天的xkcd工具提示中获得了一个有趣的小方案项目。 基本上,前提是对于任何维基百科文章,如果你一遍又一遍地跟随第一个链接(不在括号内或斜体中),你将会看到哲学文章。
我正在尝试编写一个基本上随机选择维基百科页面的程序(可能使用http://en.wikipedia.org/wiki/Special:Random URL),然后确定哲学页面的“深度”。
我用C(我最熟悉的语言)敲了一个程序只是为了让计划直截了当并且很快意识到除了两个“次要”(也就是重要的位)问题之外我知道如何做大部分工作:< / p>
char *grab_first_link(page, int n){
//return url of 1st link not in italics or inside parentheses
}
void get_random_page{
//go to http://en.wikipedia.org/wiki/Special:Random
//wait 2 seconds
//return the URL generated by the random page
}
所以基本上我正在寻找一个可以帮助解决简单HTML页面的库。以及如何根据上述规则获得正确链接的一些提示。
(也 - 我确定有更多的方法可以更有效/更容易地做到这一点,我只是好奇我是否可以完成所有工作/主要是在C中完成)
感谢您提供正确方向的任何帮助,提示,链接或要点。
答案 0 :(得分:1)
我对任何适用于维基百科的程序的建议:不要使用HTML执行此操作;相反,解析SQL dump,特别是链接表。 link table parser(在C ++中,而不是C语言)是我的Wikiassoc计划的一部分。
答案 1 :(得分:1)