使用 PHP cURL 从 Wikipedia API 中提取段落

发布于 2024-09-02 01:52:25 字数 911 浏览 11 评论 0原文

这是我尝试使用 Wikipedia (MediaWiki) API 执行的操作 - http://en。 wikipedia.org/w/api.php

  1. http://en.wikipedia.org/w/api.php?format=xml&action=opensearch&search=[keyword] 检索列表关键字的建议页面

  2. 使用 http://en.wikipedia.org/w/api.php?format=json&action=query&export&titles=[page title]

  3. 将页面上找到的任何段落提取到数组中

  4. 用数组做某事

我陷入了#3。我可以看到一堆 JSON 数据,其中段落之间包含“\n\n”,但由于某种原因,PHPexplode() 函数不起作用。

本质上,我只想获取每个维基百科页面的“内容”(不是标题或任何格式,只是内容)并将其按段落分解为数组。

有什么想法吗?谢谢!

Here's what I'm trying to do using the Wikipedia (MediaWiki) API - http://en.wikipedia.org/w/api.php

  1. Do a GET on http://en.wikipedia.org/w/api.php?format=xml&action=opensearch&search=[keyword] to retrieve a list of suggested pages for the keyword

  2. Loop through each suggested page using a GET on http://en.wikipedia.org/w/api.php?format=json&action=query&export&titles=[page title]

  3. Extract any paragraphs found on the page into an array

  4. Do something with the array

I'm stuck on #3. I can see a bunch of JSON data that includes "\n\n" between paragraphs, but for some reason the PHP explode() function doesn't work.

Essentially I just want to grab the "meat" of each Wikipedia page (not titles or any formatting, just the content) and break it by paragraph into an array.

Any ideas? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

标点 2024-09-09 01:52:25

\n\n 实际上是这些字符,而不是换行符。确保在爆炸中的字符串周围使用单引号:

$parts = explode('\n\n', $text);

如果选择使用双引号,则必须像这样转义 \ 字符:

$parts = explode("\\n\\n", $text);

旁注:为什么要检索以下数据两种不同的格式?为什么不只选择 JSON 或只选择 XML?

The \n\n are literally those characters, not linefeeds. Make sure you use single quotes around the string in explode:

$parts = explode('\n\n', $text);

If you choose to use double quotes you'll have to escape the \ characters like so:

$parts = explode("\\n\\n", $text);

On a side note: Why do you retrieve the data in two different formats? Why not go for only JSON or only XML?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文