作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用Wikipedia的API(api.php)来获取由链接(例如:http://en.wikipedia.org/wiki/Stackoverflow)提供的Wikipedia文章的内容。
我想要的是第一段(在Stackoverflow Wiki文章的示例中是:Stack Overflow是Stack Exchange网络[2] [3]的网站部分,其中包含有关以下主题的问答)计算机编程。[4] [5] [6])。
我将使用它进行一些数据操作。
我尝试使用API网址:http://en.wikipedia.org/w/api.php?action=parse&page=Stackoverflow&format=xml,但这给了我一些错误。它输出:
<api>
<parse displaytitle="Stackoverflow" revid="289948401">
<text xml:space="preserve">
<ol> <li>REDIRECT <a href="/wiki/Stack_Overflow" title="Stack Overflow">Stack Overflow</a></li> </ol> <!-- NewPP limit report Preprocessor node count: 1/1000000 Post-expand include size: 0/2048000 bytes Template argument size: 0/2048000 bytes Expensive parser function count: 0/500 --> <!-- Saved in parser cache with key enwiki:pcache:idhash:21772484-0!*!0!!*!* and timestamp 20110525165333 -->
</text>
<langlinks/>
<categories/>
<links>
<pl ns="0" exists="" xml:space="preserve">Stack Overflow</pl>
</links>
<templates/>
<images/>
<externallinks/>
<sections/>
</parse>
</api>
$doc = new DOMDocument();
$doc->loadHTML($wikiPage);
$xpath = new DOMXpath($doc);
$nlPNodes = $xpath->query('//div[@id="bodyContent"]/p');
$nFirstP = $nlPNodes->item(0);
$sFirstP = $doc->saveXML($nFirstP);
echo $sFirstP;
最佳答案
您正在获取重定向页面的内容。用“ Stack_Overflow”替换“ Stackoverflow”,它应该可以工作。
该API确实支持&redirects选项,该选项将为您解决重定向。
关于xpath - PHP + Wikipedia:从Wikipedia文章的第一段中获取内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6128168/
我是一名优秀的程序员,十分优秀!