Eli täysyisi hakea tieto erilaisilta sivuilta ja tallentaa ne suoraan database'ihin - niin kuin Googlella, mutta hieman yksityiskohtaisempaa hakua. Vaatimuksina olisi käyttäjä kohtainen helppous ja nopeus. Olisi myös suotavaa, että koodi olisi helposti päivitettävissä.
Rohkaisevia ehdotuksia tehokkaaseen tiedonhakuun palvelimelle?
KIITOS
Rohkaisevia ehdotuksia tehokkaaseen tiedonhakuun palvelimelle?
KIITOS
Vastaukset 2
Vanhimmat
Perl
Ilmeisesti tarvitset kieltä, jossa on helpot kirjastot www-sivujen hakuun, mukavat rajapinnat tietokantojen käsittelyyn ja tehokkaat funktiot merkkijonojen käsittelyyn (ellet sitten halua tunkea tietokantaan hakemaasi sivua ihan sellaisenaan).
Sivun hakeminen onnistuu Pythonilla näin:
import urllib2
sivu=urllib2.urlopen("http://blaablaa").read()
ja tietokantoja voi käsitellä seuraavilla kirjastoilla:
http://www.python.org/topics/database/modules.html
Perlillä www-sivu haetaan näin:
use LWP::Simple;
$sivu = get 'http://blaablaa';
ja tietokantoihin pääsee käsiksi DBD-kirjastoilla:
http://search.cpan.org/search?m=module&q=DBD::&s=1
www-sivujen sisällön jäsennykseen (tai ylipäätään merkkijonojen käsittelyyn) molemmissa kielissä on tehokkaat säännölliset lausekkeet:
http://docs.python.org/lib/module-re.html
http://www.perl.com/doc/manual/html/pod/perlre.html
***
En nyt tiedä, millaista tietoa olet tallentamassa tietokantaan, ja saattaa toki olla, että tarvitset tietokantaa ihan oikeasti. Minulle on kuitenkin tullut vastaan niin usein tilanteita, joissa tietokantaa käytetään aivan turhaan, että pitää heittää vielä vinkki. Monissa tilanteissa muilla tallennusmuodoilla, esimerkiksi pelkillä tekstitiedostoilla, olisi saatu aikaan paljon vähemmän tilaa vievä, paljon nopeammin toimiva ja paljon yksinkertaisempi ohjelma. Tietokantaa on käytetty vain siksi, että tekijät ovat niin tottuneet käyttämään sitä, etteivät osaa ajatellakaan vaihtoehtoja.