ccc

Mostrando entradas con la etiqueta API Wikipedia. Mostrar todas las entradas
Mostrando entradas con la etiqueta API Wikipedia. Mostrar todas las entradas

API Wikipedia: Buscando por categoría

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "prop" => "categories",
    "titles" => "Clint Eastwood"
];

$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );

$result = json_decode($output, true);

foreach( $result["query"]["pages"] as $clave=>$valor) {
foreach( $valor["categories"] as $claveAux=> $valorAux ) {
echo $valorAux["title"]."<br>";
}
}
?>
</body>
</html>


Más información en:
https://www.mediawiki.org/wiki/API:Categories

API Wikipedia: Búsqueda general y acceder a artículo concreto

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
$busq = "Francisco Rodríguez Criado";
$busq = urlencode($busq);

$url = "https://es.wikipedia.org/w/api.php?action=query&list=search&srprop=snippet&format=json&origin=*&utf8=&srsearch=".$busq;
echo $url."<br><br>";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, false);
$result = curl_exec($ch);
curl_close($ch);

$arr = json_decode($result);

foreach ($arr->query->search as $clave=>$valor) {
echo $valor->title."<br>";
echo $valor->snippet."<br>";
$tit_wiki = urlencode($valor->title);
?>
<p><a target="_blank" href="https://es.wikipedia.org/?curid=<?=$valor->pageid;?>">Ver artículo en Wikipedia</a></p>
<p><a target="_blank" href="api_busq_concreto.php?tit_wiki=<?=$tit_wiki;?>">Obtener el artículo concreto</a></p>
<?php
echo "<hr>";
}
?>
</body>
</html>

api_busq_concreto.php:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
$url = "https://es.wikipedia.org/w/api.php?action=query&titles=".urlencode($_GET["tit_wiki"])."&prop=revisions&rvprop=content&format=json";
echo $url."<br><br>";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, false);
$result = curl_exec($ch);
curl_close($ch);
$arr = json_decode($result);

print_r($arr);
?>
</body>
</html>