objective-c - 抓取和解析维基百科页面

标签 objective-c parsing screen-scraping wikipedia wikipedia-api

我想知道 Objective-C 中是否有任何现有的库或可从中访问这些库可以让我抓取格式类似于 this one 的页面.具体来说,所有日期和每个日期旁边的所有文本。如果没有,执行此操作的最佳方法是什么?常用表达?我听说 NSString 可能已经为此内置了方法。这是真的吗?

我四处寻找是否有任何替代抓取的方法,例如 XML 文件或 API。我确实找到了一个 API,但我看到唯一可用的客户端是其他语言的,它们似乎只能将内容发布到页面,而不能检索它。

编辑:所以我在这些链接中找到了有关 API 的更多信息:

我能够想出 this request它返回一些 HTML 编码的文本(格式是 XML,但它包括页面的文本,例如 »a href= 等。我会继续查看文档,看看我是否可以做到这一点结果会好一点,如果不是,是否有任何关于解析它的建议?

编辑 2:好的,感谢 this doc page ,我能够检索数据的最简单和最干净的方法是使用这个 constructed link它返回相关部分的原始数据(在 wiki 标记中)。但是,我想我随后需要对其进行解析,但如果确实如此,它应该比整篇文章容易得多。

有人对在 Objective-C 中解析 wiki 标记有什么建议吗?

==Events==
* [[710]] – [[Saracen]] invasion of [[Sardinia]].
*[[1275]] – Traditional founding of the city of [[Amsterdam]].
*[[1682]] – [[Philadelphia]], [[Pennsylvania]] is founded.

我想最终得到的是,我猜是一个 NSDictionary 或类似的集合,它将存储带有信息片段的日期。谢谢!

最佳答案

&format=fmt 添加到查询的末尾,如 API:Data_formats 中所述.您的查询变为:JSON query , 例如。您可以指定 XML、JSON 或许多其他格式。

您可以轻松地解析整个部分,然后将 HTML 格式的输出显示到 WebView 中。

关于objective-c - 抓取和解析维基百科页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1633296/

相关文章:

iOS - 在不知道其大小的情况下添加 View

java - MongoDB 复杂存储过程可以与 Java Web 服务一起使用吗

c - 如何从C文件中提取代码注释?

objective-c - 如何从导航栏中删除后退按钮

iOS:将手势传递给下面的 View

parsing - bash 中的选项解析器比 getopts 更进化

asp.net - 解析来自磁条的信用卡输入

ruby-on-rails - 如何使用 Dbpedia ruby​​ gem 获取流派信息

c# - 我如何登录、导航并从 protected 网站返回数据,到目前为止我所做的一切都不起作用

python - 使用请求浏览多个页面