Kirjoittaja Aihe: Wikipedian sisältöä omalle sivulle?  (Luettu 3724 kertaa)

ooo

  • Käyttäjä
  • Viestejä: 120
    • Profiili
Wikipedian sisältöä omalle sivulle?
« : 21.11.07 - klo:09.32 »

Haluaisin laittaa yhdelle internetsivulleni tiedon tällä päivämäärällä tapahtuneista asioista. Sisällön saisi wikipediasta päivämallinesivuilta, jotka on muotoa:

http://fi.wikipedia.org/w/index.php?title=Malline:21._marraskuuta&printable=yes


Ymmärtääkseni wikipedian sisällön lainaaminen on sallittua. Korjatkaa toki jos olen väärässä, niin unohdan koko asian! Täältä löytyy ohjeet siitä kuinka yksittäisten sivujen sisällön saisi ladattua xml-muodossa:

http://en.wikipedia.org/wiki/Wikipedia:Database_download#Why_not_just_retrieve_data_from_wikipedia.org_at_runtime.3F


Vaan kun koitan mitä vaan jippoa (php:lla tehty xml-parseri tai vain sivun lukeminen stringiksi ja sen tulostaminen), niin saan virheilmoituksen, ettei dokumenttiin ole pääsyä. Vaikka wikipediassa on ohjeet sivujen lataamiseksi, niin se on silti estetty? Enkö vain osaa, vai onkohan tällainen sisällönhakeminen nyttemmin estetty?
______________________________
Minäkö tyhmä? Nyt en ymmärrä.

Heikki Mäntysaari

  • Käyttäjä / tiedottaja
  • Viestejä: 377
    • Profiili
Vs: Wikipedian sisältöä omalle sivulle?
« Vastaus #1 : 21.11.07 - klo:09.48 »
Ymmärtääkseni wikipedian sisällön lainaaminen on sallittua. Korjatkaa toki jos olen väärässä, niin unohdan koko asian!
Wikipedian materiaalin käyttäminen on sallittua, sehän tässä on Wikipedian - vapaan tietosanakirjan - idea. Kaikki Wikipedian materiaali (paitsi kuvat) on vapaasti käytettävissä GNU Free Documentation Licensen alaisuudessa, mikä lyhyesti tarkoittaa sitä, että voit käyttää materiaalia miten haluat mutta sinun on tällöin julkaistava tämä materiaali ja siihen tekemäsi muutokset samalla lisenssillä.

Katso Wikipedian artikkelit http://fi.wikipedia.org/wiki/Gfdl
Suomenkielinen Linux-wiki: Linux.fi - katso myös http://linux.fi/foorumi

Ninnnu

  • Käyttäjä
  • Viestejä: 247
  • LinuCaster
    • Profiili
Vs: Wikipedian sisältöä omalle sivulle?
« Vastaus #2 : 21.11.07 - klo:19.22 »
Kyllä sen pitäisi onnistua, ainakin tämä ulostaa XML:ää kuten tarkoituskin. Millä rivillä tarkalleen ottaen yrität avata tota? Meinaa webhostit tykkää käyttää PHP:n safe_modea -> "remote fopen" on pois päältä ja siitä saattaa tulla "käyttö kielletty"-tyylisiä viestejä. Mutta saat ladattua tavaraa muualta käyttämällä CUrlia.

ooo

  • Käyttäjä
  • Viestejä: 120
    • Profiili
Vs: Wikipedian sisältöä omalle sivulle?
« Vastaus #3 : 21.11.07 - klo:20.37 »
Kiitos ninnnu. Käytin aiemmin rumempaa tapaa, mutta koitin ehdottamaasi curlia. Käytin tällaista koodia:

Koodia: [Valitse]
<?php
$ch 
curl_init("http://fi.wikipedia.org/wiki/Toiminnot:Vie_sivuja/Malline:21._marraskuuta");
curl_setopt($chCURLOPT_HEADER0);
curl_exec($ch);
curl_close($ch);
?>



Vaan ei toiminut. Sain seuraavan virheilmoitussivun:
Koodia: [Valitse]
If reporting this error to the Wikimedia System Administrators, please include the following details:
Request: GET http://fi.wikipedia.org/wiki/Toiminnot:Vie_sivuja/Malline:21._marraskuuta, from 64.xxx.xxx.xxx via sq16.wikimedia.org (squid/2.6.STABLE13) to ()
Error: ERR_ACCESS_DENIED, errno [No Error] at Wed, 21 Nov 2007 18:39:45 GMT


Googlettamalla löytyi sama ongelma täältä:

http://www.nabble.com/Problem-using-PHP-curl-to-access-Wikipedia-t3694950.html

Yllättävän hankalaksi menee. Esim. Ylen sivuilta curlilla hakeminen toimi kuin vettä vaan...
« Viimeksi muokattu: 21.11.07 - klo:20.40 kirjoittanut ooo »
______________________________
Minäkö tyhmä? Nyt en ymmärrä.

Ninnnu

  • Käyttäjä
  • Viestejä: 247
  • LinuCaster
    • Profiili
Vs: Wikipedian sisältöä omalle sivulle?
« Vastaus #4 : 21.11.07 - klo:20.46 »
Wikipedia ei näköjään arvosta jos CUrl esiintyy itsenään. Tossa sun pasteemassa linkissä oli kyllä vastauskin:
Lainaus
function getURL($domain, $url)
 {
 $domain = "en.wikipedia.org"; // Force - debugging
 $url = "/wiki/Cinco_De_Mayo";

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $domain. $url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_REFERER, "http://DaysUntil.com/");
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
// curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1;
en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6"
// curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01;
Windows NT 5.0)");

 $result = curl_exec($ch);
 curl_close ($ch);
 return $result;
 }

ooo

  • Käyttäjä
  • Viestejä: 120
    • Profiili
Vs: Wikipedian sisältöä omalle sivulle?
« Vastaus #5 : 21.11.07 - klo:21.16 »

Toivoisinkin, että se olisi ollut vastaus. Käsittääkseni linkin koodi oli vain kirjoittajan yritelmä saada se toimimaan. Itsekin koitin tuota ja monia muita parametreja, mutta vielä ei tärpännyt...
______________________________
Minäkö tyhmä? Nyt en ymmärrä.