我正在尝试使用python模块ADATA
,它是wikipedia API的包装器。特别是我正在查看links
API,根据我的理解,它应该返回“页面上维基百科页面链接的标题列表”,即所有对页面文本中其他维基百科页面的引用。我在询问。当我查看Google上文章的结果时,我会按预期获得list个链接(JSON格式的维基百科标题)。问题是,那里列出的链接似乎没有出现在Google页面上。我想也许它包括谷歌的链接,但这也不起作用,特别是,JSON结构中返回的第三个链接是ADATA
。我在Google页面的任何位置都没有看到ADATA的链接,也没有在https://en.wikipedia.org/w/api.php?action=query&titles=Google&prop=links
页面上的任何地方找到指向Google的链接。这是一个错误还是我错过了一些明显的东西?
我相信这个链接足以重现这个问题:
{
"continue": {
"plcontinue": "1092923|0|Aardvark_(search_engine)",
"continue": "||"
},
"query": {
"pages": {
"1092923": {
"pageid": 1092923,
"ns": 0,
"title": "Google",
"links": [
{
"ns": 0,
"title": "111 Eighth Avenue"
},
{
"ns": 0,
"title": "2600: The Hacker Quarterly"
},
{
"ns": 0,
"title": "ADATA"
},
. . .
我看到的结果如下:
import wikipedia
wikipedia.page('Google').links
在python中你可以像这样重现:
['111 Eighth Avenue',
'2600: The Hacker Quarterly',
'ADATA',
'AI Challenge',
'AKM Semiconductor, Inc.',
'AOL',
'API.AI',
产生如下输出:
import { Http } from '@angular/http';
import {
animate,
Component,
keyframes,
state,
style,
transition,
trigger,
} from '@angular/core';
@Component({
selector: 'card-overview-example',
templateUrl: 'card-overview-example.html',
animations: [
trigger('state', [
state('open',
style({
opacity: 1
})),
transition('* => open', [
animate(200, keyframes([
style({
opacity: 1
}),
])),
]),
state('closed',
style({
opacity: 0
})
),
])
]
})
export class CardOverviewExample {
items = [];
state;
constructor(private http: Http) {
this.getData().subscribe(items => this.items = items.results);
}
getData() {
return this.http.get(`https://swapi.co/api/people/?format=json`)
.map((res:Response) => res.json());
}
showDetails(item) {
// this.state = (this.state === 'open' ? 'closed' : 'open');
this.state = (this.state === 'open' ? 'closed' : 'open');
}
}
答案 0 :(得分:1)
该列表包含显示在页面的wiki文本中或从wiki文本调用的模板中的链接。每次编辑后,它都会由排队作业更新。由于作业处理的异步性质和失败作业的有限重试次数,列表可能与实际文章内容不同,但不太可能。 (可能有可能添加指向wikitext的链接,以至于它们根本不会出现在文章HTML中,但同样不可能有人真正这样做。)
答案 1 :(得分:0)
在访问页面时,默认情况下,页面似乎有些位不可见。在此示例中,当您点击'显示'时会显示该链接。 "主要信息技术公司"在页面的底部。我相信这应该是我所看到的。
感谢评论中的zwer,指出在哪里可以找到链接。