【问题标题】:Extract information from HTML document with C用C从HTML文档中提取信息
【发布时间】:2012-06-18 14:44:53
【问题描述】:

在我学习 C(纯 C,不是 C#,也不是 C++。我有我的理由。)的过程中,我遇到了从 HTML 文档中提取一些信息的需要,这些信息是从 URL 中获取的。即,我希望链接中的所有 href 属性都位于页面上某个无序列表中的字符串数组中。这些 URL 指向我要下载并存储在 zip 文件中的图像。

现在,我问了几个我认识的擅长 C 的人,他们要么告诉我“C 是错误的工具”,要么指点我 libXML,它显然以其稀缺的文档而闻名。我还查看了 libsoup 和 libtidy,但似乎无法将它们拼接在一起。

我应该选择什么方法/库?有人知道我可以查看的示例代码吗?

编辑:看到一半的 cmets 告诉我使用 C 以外的东西,我会补充说我不是在寻找“适合这项工作的工具”。如果我只是想尽快完成它,我可能会使用 Ruby,只是因为我对它感到满意。这是我学习 C 的一部分,因此,我正在寻找一个纯 C 的解决方案。

【问题讨论】:

  • 我不会说 C 不是合适的工具。如果计算机可以做到,您可以用 C 编写它。但是,使用更合适的语言可以更快地完成工作。我投票给 Perl。
  • 好吧,对于解析,我推荐经典的 lex/yacc(或 flex/bison)组合。有html语法浮动在某个地方,谷歌应该找到一些。
  • 您要求或想做的事情被称为CRAWLER。实现这一目标的最佳编程语言是Perl
  • @pmg -- 按摩部分给我带来了麻烦 :)
  • 请看我的编辑说明。

标签: c html-parsing


【解决方案1】:

既然你正在学习 C,那么我会使用标准库和 .

http://www.cplusplus.com/reference/clibrary/cstdio/ http://www.cplusplus.com/reference/clibrary/cstring/

最简单的方法是使用其他东西来获取页面,将其写入本地文件,然后将文件名传递给您的程序。将输出打印到 STDOUT。

【讨论】:

    猜你喜欢
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    • 2012-07-01
    • 1970-01-01
    • 2012-07-03
    • 2017-04-24
    • 1970-01-01
    相关资源
    最近更新 更多