Mittels PHP überprüfen ob ein Wikipedia Artikel existiert

Tags:

Mit cURL lässt sich auf ziemlich einfache Art überprüfen, ob ein Wikipedia Artikel existiert. Dies, weil Wikipedia korrekterweise einen 404 Statuscode mitschickt, falls ein angeforderter Artikel nicht existiert.

class WikipediaException extends Exception
{}

class Wikipedia
{
    /**
     * URL to Wikipedia
     *
     * @var string
     */
    public static $wikiUrl = 'http://de.wikipedia.org/wiki/';


    /**
     * Check whether a Wikipedia article
     * exists or not
     *
     * @param string $articleToken
     * @return bool
     */
    public static function isArticleAvailable($articleToken)
    {
        if (!extension_loaded('curl')) {
            throw new WikipediaException('Please install cURL');
        }

        //open connection
        $ch = curl_init(self::$wikiUrl . $articleToken);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_exec($ch);

        //get status code for the wikipedia article
        $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        //close connection
        curl_close($ch);

        return (404 != $statusCode);
    }
}

error_reporting(E_ALL);
var_dump(Wikipedia::isArticleAvailable('Zeit'));  //true
var_dump(Wikipedia::isArticleAvailable('Zeit2')); //false

Ähnliche Artikel

Kommentare