gpt4 book ai didi

javascript - 从标题获取维基百科 pageid

转载 作者:行者123 更新时间:2023-11-29 18:07:47 25 4
gpt4 key购买 nike

我正在尝试从维基百科文章中获取图像。我有文章的标题,但似乎我需要知道 pageid 才能访问缩略图。如何从标题中获取 pageid?

我的 JavaScript 代码:

$.getJSON("http://en.wikipedia.org/w/api.php?action=query&titles=" + article + "&prop=pageimages&format=json&pithumbsize=350", function (data) {
imageURL = data.query.pages[/* pageid */].thumbnail.source;
});

这是我正在解析的内容(例如 article = "Car"):

{"query":{"pages":{"13673345":{"pageid":13673345,"ns":0,"title":"Car","thumbnail":{"source":"http://upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Benz-velo.jpg/100px-Benz-velo.jpg","width":100,"height":80},"pageimage":"Benz-velo.jpg"}}}}

^ 看来我首先需要知道它是 13673345 索引。

最佳答案

OP 询问如何“访问缩略图”,即返回数据中的 URL。他没有询问如何访问缩略图后面的完整图像......这是其他答案解决的问题。

OP 的问题是数据与页面 ID 相关联。事实上,查询可能返回不止一篇文章,在这种情况下会有多个页面 ID 和缩略图。

以下查询返回代码片段中使用的数据:

http://en.wikipedia.org/w/api.php?action=query&titles=Stack_Overflow&prop=pageimages&format=json&pithumbsize=350

并且 OP 可以使用此代码提取页面 ID:

var pageid = [];
for( var id in data.query.pages ) {
pageid.push( id );
}

运行下面的代码片段进行测试。

<html>
<body>

<img id="thumbnail"/>

<script type="text/javascript">

var data = {
"query":
{
"normalized": [
{
"from": "Stack_Overflow",
"to": "Stack Overflow"
}],
"pages":
{
"21721040":
{
"pageid": 21721040,
"ns": 0,
"title": "Stack Overflow",
"thumbnail":
{
"source": "http://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/Stack_Overflow_homepage.png/350px-Stack_Overflow_homepage.png",
"width": 350,
"height": 185
},
"pageimage": "Stack_Overflow_homepage.png"
}
}
}
};



// get the page IDs
var pageid = [];
for( var id in data.query.pages ) {
pageid.push( id );
}

// display the thumbnail using a page ID
document.getElementById('thumbnail').src = data.query.pages[ pageid[0] ].thumbnail.source;

</script>

</body>
</html>

关于javascript - 从标题获取维基百科 pageid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30006183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com