Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Andmete kogumine teistelt veebilehtedelt märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
Popp
Kreisi kasutaja
Popp

liitunud: 22.02.2006




sõnum 27.01.2008 21:07:45 Andmete kogumine teistelt veebilehtedelt vasta tsitaadiga

Otsisin Googlest aga mitte midagi ei leidnud teema kohta, kuidas koguda andmeid teistelt veebilehtedelt. Mõtlen siis täpsemalt näiteks mingisuguseid numbreid tabelitest või muutuvat teksti. Midagi samasugust nagu Excelis "Create Refreshable Web Query" aga näiteks PHP keeles.

Ehk on keegi targem, kes oskab küsimusele vastuse anda ning ehk ka õigele teele juhendada icon_smile.gif
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
Laurikre
HV Guru
Laurikre

liitunud: 20.09.2003




sõnum 27.01.2008 21:11:09 vasta tsitaadiga

Ehk tahad emaile copyda lehtedelt ?
Laurikre:.

_________________
Need: Windows, .Net, Sharepoint, Exchange, Dynamics, Visual Studio, XNA, Expression, Silverlight, SQL and many other skills? Talk to me icon_smile.gif
Rohkem IT uudiseid iga päev BattleIT lehelt
Kommentaarid: 154 loe/lisa Kasutajad arvavad:  :: 0 :: 5 :: 131
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Popp
Kreisi kasutaja
Popp

liitunud: 22.02.2006




sõnum 27.01.2008 21:13:06 vasta tsitaadiga

eee...ei
ma tahaks näiteks võtta mõne veebilehe, kus on ütleme kulla hind dollarites untsi kohta. Nemad uuendavad seda iga päev...aga ma tahan selle ümber convertida kroonidesse kilogrammi kohta. Et ma ei peaks käsitsi sisestama
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
QWhite
Kreisi kasutaja
QWhite

liitunud: 24.02.2004




sõnum 27.01.2008 21:18:21 vasta tsitaadiga

PHPs tee skript mis avab sellele lehele socketi, teeb http pöördumise ja tulemuses sorteerib välja õiged andmed (nt string, mis jääb "<td>GOLD</td><td>" ja "</td>" vahele olekski tabelist kulla hind), mille saad läbi korrutada.
Ja kui vaja, võid seda skripti CRONiga esile kutsuda mingi aja tagant (kui ei taha iga pöördumisega välisühendust kulutada).
Kommentaarid: 63 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
Popp
Kreisi kasutaja
Popp

liitunud: 22.02.2006




sõnum 27.01.2008 21:23:40 vasta tsitaadiga

jah midagi sellist küll peaks olema aga ise ei ole progeja, et ehk on mingit näidet kellelgi või viiteid mida otsingusse panna, et näiteid leida

EDIT: kas su allkirjas on vastus mu küsimusele icon_razz.gif?
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
QWhite
Kreisi kasutaja
QWhite

liitunud: 24.02.2004




sõnum 27.01.2008 21:30:07 vasta tsitaadiga

Endale olen sellise kirjutanud:
function getpage($url) {
   $prot_len=strpos($url,"//")+2;
   $host=substr($url,$prot_len,strpos($url,"/",$prot_len)-$prot_len);
   $getstr=strstr(substr($url,8),"/");
   $fp = fsockopen($host, 80, $errno, $errstr, 30);
   if (!$fp)
      echo "$errstr ($errno)<br />\n";
   else {
      $out = "GET ".$getstr." HTTP/1.0\r\n";
      $out .= "Host: ".$host."\r\n";
      $out .= "Connection: Close\r\n\r\n";
      fwrite($fp, $out);
      while (!feof($fp))
          $data.=fread($fp, 1024);
      fclose($fp);
   }
   return strstr($data,"\r\n\r\n");
}

echo getpage ("http://www.neti.ee/");


EDIT: no comments :P
Kommentaarid: 63 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
Popp
Kreisi kasutaja
Popp

liitunud: 22.02.2006




sõnum 27.01.2008 21:37:07 vasta tsitaadiga

ma ei oska progeda ju icon_razz.gif

Mis see teeb täpsemalt?
Ehk viitsid ikka natukene kommenteerida...
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
i8080
Kreisi kasutaja
i8080

liitunud: 15.03.2002



Autoriseeritud ID-kaardiga

sõnum 28.01.2008 00:59:47 vasta tsitaadiga

see socketite tasemel majandamine vast oleks veidi overkill, arvestades, kui php juba on konfitud socketeid näppima, küllap siis peaks töötama see ka fopen/fread tasemel.
selle eelneva näite, neti.ee pealehe html sisu kuvamine, oleks lihtsustatult ilma socketite ja http päringuta selline:


<?php
$handle = fopen("http://www.neti.ee/", "r");
$contents = fread($handle, 128000); // sry, see tambovi konstant 128000 ei ole siin just päris ilus kasutada
fclose($handle);
echo $contents;
?>


vaata lisaks
http://ee.php.net/manual/en/function.fread.php
http://ee.php.net/fopen
http://ee.php.net/manual/en/ref.filesystem.php#ini.allow-url-fopen
Kommentaarid: 166 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 149
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
QWhite
Kreisi kasutaja
QWhite

liitunud: 24.02.2004




sõnum 28.01.2008 01:03:45 vasta tsitaadiga

Mõni hostija on URLi fopen-imise ära keelanud, aga fsockopen on reeglina ikka olemas.
Kommentaarid: 63 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
Popp
Kreisi kasutaja
Popp

liitunud: 22.02.2006




sõnum 28.01.2008 01:11:48 vasta tsitaadiga

minu host oli vist fsockopen'i ära keelanud...aga ma uurin seda hommikul täpsemalt
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
i8080
Kreisi kasutaja
i8080

liitunud: 15.03.2002



Autoriseeritud ID-kaardiga

sõnum 28.01.2008 01:20:21 vasta tsitaadiga

veidi ot aga alla 30-50eeku kuumaksuga teenusepakkujatel on justkui kõik kinni keeratud, mis vähegi annab, eriti veel socketid.
praegu vaatasin sul koduleht/WWW on planet.ee ja seal minuteada, kah midagi head selles osas loota pole. võid kohapeal sama serveri tasemel oma "poolstaatilise" sisuhaldusega majandada ainult icon_biggrin.gif
Kommentaarid: 166 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 149
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Popp
Kreisi kasutaja
Popp

liitunud: 22.02.2006




sõnum 28.01.2008 01:21:21 vasta tsitaadiga

just...planet.ee pakub hetkel seda. Kuidagi mööda sellest minna ei saa? Või midagi teisiti teha?
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
i8080
Kreisi kasutaja
i8080

liitunud: 15.03.2002



Autoriseeritud ID-kaardiga

sõnum 28.01.2008 01:58:00 vasta tsitaadiga

panin praegu mõlemad näidiskoodi jupid (QWhite ja enda oma) sinna planet peale ülesse ja võid ise vaadata, mis veateateid sellepeale loobib:

http://dieter.planet.ee/urlread.php

tõlkes: turvakaalutlustel keelatud ja servu konfis keelatud - ehk teisisõnu selle väikse puru eest rohkem ei pakuta


Popp kirjutas:
Kuidagi mööda sellest minna ei saa? Või midagi teisiti teha?


tavaline arvuti ja selle peal töötav programm, mis andmed netist kohale tirib, ära töötleb ja siis üle ftp uuendatud failid üles laeb iga natukese aja tagant, kui vaja.
ise kasutan selleks tarbeks toanurgas töötavat igivanat läpparit, mis nagunii 24/7 sees on ja vahest p2p tirib ja igatsugu muid asju teeb, vähese voolutarbega, märkamatult.
ega jah perfektne lahendus see muidugi pole. pealegi keerulisem kui php...
Kommentaarid: 166 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 149
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Popp
Kreisi kasutaja
Popp

liitunud: 22.02.2006




sõnum 09.05.2008 16:54:42 vasta tsitaadiga

jah QWhite oma ma proovisin ja veateade oli sama.
Kui see võimatu on siis peab hakkama teenusepakkujat vahetama või mõne muu alternatiivi leidma

Või ehk on keegi, kes oskab mõne muu sarnase lahendusega välja tulla

EDIT: kas funktsiooni 'fread' väljundit saab ka kuidagi poolitada ja muuta?
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
marttali
HV kasutaja

liitunud: 16.12.2003




sõnum 15.05.2008 19:33:34 vasta tsitaadiga

php curl
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
skycat
HV kasutaja
skycat

liitunud: 20.05.2003




sõnum 15.05.2008 23:22:45 vasta tsitaadiga

http://sourceforge.net/projects/snoopy/
Kommentaarid: 17 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum
furyy
HV kasutaja

liitunud: 06.02.2006




sõnum 03.06.2008 12:22:48 vasta tsitaadiga

marttali kirjutas:
php curl

php.net soovitusel:

function get_curl($url)
{
  $curl = curl_init();

  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
  $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
  $header[] = "Cache-Control: max-age=1";
  $header[] = "Connection: keep-alive";
  $header[] = "Keep-Alive: 300";
  $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
  $header[] = "Accept-Language: en-us,en;q=0.5";
  $header[] = "Pragma: "; // browsers keep this blank.

  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible) Firefox/3.0');
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  //curl_setopt($curl, CURLOPT_REFERER, 'http://www.example.com/');
  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  curl_setopt($curl, CURLOPT_AUTOREFERER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_TIMEOUT, 10);

  $html = curl_exec($curl);
  curl_close($curl);

  //implement 404 etc. handling
  return $html;
}

echo get_curl("http://www.neti.ee");



Planetis töötab edukalt icon_razz1.gif

_________________
48 thousand years into the future, you've still got a knack for stating the obvious.
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
morgoth
HV kasutaja
morgoth

liitunud: 14.01.2004




sõnum 03.06.2008 13:12:35 vasta tsitaadiga

Curli abil on jah kõige lihtsam. Vajadusel saad isegi selle abil kuskile sisse logida icon_wink.gif
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Andmete kogumine teistelt veebilehtedelt
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.