网络爬虫类节目 - 维基分离度

我今天的XKCD提示启发一个有趣的小方项目。 基本前提是,对于任何维基百科的文章,如果按照第一个链接(不是括号内或斜体)一遍又一遍,最终你会得到哲学的文章。

我想写随意,基本上选择一个维基百科页面(可能使用http://en.wikipedia.org/wiki/Special:Random URL),然后确定一个程序,它从哲学页面“深度”。

我敲了在C(我最熟悉的语言)的程序只是为了让这个计划伸直很快就意识到,我知道该怎么做大部分除了两个“未成年人”(又名重要位)的问题:

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页面。 并根据上述规则如何得到正确的链接的一些技巧。

(还 - 我肯定有一百万+ 1的方式来更有效地做到这一点/容易,我只是好奇,如果我能得到这一切/大都用C完成)

感谢您在正确的方向的任何帮助,提示,链接或点。

--------------解决方案-------------

  1. 找到一个HTML解析器库(libxml2的可能做的工作),并阅读其说明书。 XPath的可能会是你的朋友这一点。
  2. 查找HTTP客户端库(并阅读其说明书),然后看1。

我为在维基百科工作的任何程序的建议是:不这样做使用HTML; 相反,解析SQL转储,特别是链接表。 链接表解析器(在C ++中,而不是C),可作为我Wikiassoc计划的一部分。

分类:HTML 时间:2015-03-15 人气:4
本文关键词: HTML,超链接
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.267 (s). 10 q(s)