Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Stronka bazujaca na innych
Forum PHP.pl > Forum > PHP
rzseattle
Mam pytanie - czy ktos kiedys probowal zrobic stronke ktora sama pobiera wiadomosci, zdjecia itd. z innych stronek. Chodzi mi o to zeby program byl w stanie pobrac plik (HTML) odpowiednio go obrobic i odpowiednia tresc umiescic w bazie danych z ktorej nastepnie owa tresc zostaje wyswietlona juz na mojej stronie. Oczywiscie nie chodzi mi o to zeby program indentyfikowal co jest wiadomosciami a co nie (wczesniej bedzie wiadomo od i do ktorej linijki ma wiadomosci)
Bo chce sie za to zabrac ale cos czuje ze problem bedzie zlozony (zwlaszcza ze pozniej chcialbym jeszcze zrobic sprawdzanie poczty np. WP z mojej stronki) wiec jesli ktos widzial taki gotowy skrypt albo bawil sie juz z takimi rzeczami to bym byl bardzo wdzieczny jakby podeslal kod albo dal jakies wskazowki.
(oczywiscie nie musze dodawac ze nie chce uzywac jakis debilnych ramek)
Anarion
Ambitne plany, ale niestety nie wyobrazam sobie jak cos takiego zrobic... :?
kryr
da sie zrobic, kwestia $ i/lub czasu :wink:
dvc
pewnie, że się da tylko jak to napisał kryr kwestia czasu (i $)
a tak na poważnie to plik z innego serwera można sciągać ftp'em
skrypcik by go obrabiał, ale najlepiej żeby tamta strona tą którą pobieramy zawierała jakieś wyremowane powtarzające się znaki typu
<!--tresc 1-->
...
<!--koniec t1-->
lub
<!--news 1-->
...
<1--koniec n1-->

to wtedy z łatwością można oskubać z treści taki plik
wyrzucić znaczniki html
i już smile.gif
rzseattle
Moze to i troche roboty ale jakby ktos podal przyklad skryptu wyciagajacego pod postacia zmiennej tekst z pliku
http://www.wp.pl/r/tg od
<!-- srodkowa kolumna --> do
<DIV align="right">
to z reszta bym sobie poradzil bo to na tym przeciez wszystko sie opiera, acha i jeszcze jedno ten adres nie jest wlasciwym adresem dokumentu, wirtualna polska przekierowuje z tego adresu na adres wlasciwej wiadomosci, tak tylko wspominam jakby to mialo jakies znaczenie smile.gif


(na razie nie zawracajcie se glowy sprawdzaniem poczty -- to bedzie na deser)
castor
Cytat
da sie zrobic, kwestia $ i/lub czasu :wink:


$i to co masu na mysli??
Kapuste??
kryr
zielenizna smile.gif

a co do tego "zadania" to raczej nie przez ftp, ale przez fopen() albo sockety - otwierasz strone ktora chcesz przejzec i wyciagasz inforamcje przez np: scanf()
Seth
Ja tez uwazam, ze z tym ftp'em to glupota. A jesli chodzi o wyciaganie wiadomosci z html'a to byl by z tym problem. Przeciez jezeli ktos stworzy nowy design to klapa. Strona www to nie XML :!:
Ale jak ktos by sie uparl to mozna to zrobic.
Zycze szczescia no i $ winksmiley.jpg
castor
Cytat
zielenizna smile.gif


Eeeee tam tylko czasu trza smile.gif

Cytat
a co do tego "zadania" to raczej nie przez ftp, ale przez fopen() albo sockety - otwierasz strone ktora chcesz przejzec i wyciagasz inforamcje przez np: scanf()

lub eregami:)

nie raczej nie tylko NIE FTP!! :wink:
kryr
Cytat
nie raczej nie tylko NIE FTP!!

bez urazy castor, ale troche dziwnie to brzmi... laugh.gif :wink:
castor
a czemu mam sie urazac laugh.gif :?:

a czy wszystko musi powaznie brzmiec??
rzseattle
Wiem ze mozecie sie spierac o sposoby ale nie wszyscy sa wszechwiedzacy i nie maja swoich koncepcji na zrobienie "tego" wiec prosze was aby ktos (jesli oczywiscie moze) podal przyklad skryptu ktory jest w stanie zrobic cos takiego (patrz moj wczesniejszy post)
steru
Cytat
a tak na poważnie to plik z innego serwera można sciągać ftp'em

gdybys byl laskaw, to zaprezentuj na lamach forum skrypt ktory sciagnie FTPem np. index.html z wp

powodzenia
:!:
kryr
steru: nie badz uszczypliwy - nie ladnie!
steru
Cytat
steru: nie badz uszczypliwy - nie ladnie!

nie moglem sie powstrzymac - jak sie czyta takie bzdury, to az od monitora odrzuca smile.gif
castor
Cytat
Wiem ze mozecie sie spierac o sposoby ale nie wszyscy sa wszechwiedzacy i nie maja swoich koncepcji na zrobienie "tego" wiec prosze was aby ktos (jesli oczywiscie moze) podal przyklad skryptu ktory jest w stanie zrobic cos takiego (patrz moj wczesniejszy post)



masz tu takie cus na szybo ale dopracowuj se to juz sam :
Kod
$content="";

$host="wiadomosci1.wp.pl";

$port="80";



$fp = fsockopen($host, $port, &$ErrNo, &$ErrStr);        

if (!$fp) {

    die ("$ErrNo $ErrStr");              

}else{

  

   fputs($fp, "GET [url=http://wiadomosci1.wp.pl/wiadomosc.html?_WID=264376]http://wiadomosci1.wp.pl/wiadomosc.html?_WID=264376[/url] HTTP/1.1rn");            

   fputs($fp, "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,*/*rn");                  

   fputs($fp, "Accept-Language: dern");                                        

   fputs($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)rn");  

   fputs($fp, "Connection: closern");                                              

   fputs($fp, "Host: {$host}rn");                                                      

   fputs($fp, "rn");

                                                                                                

   while ($buf=fread($fp,1024)) {

      $content.=$buf;

   }

}



fclose($fp);





if(eregi("<!-- srodkowa kolumna -->(.*)<!-- srodkowa kolumna koniec -->", $content, $rgs)){



   $content=$rgs[0];

}else{echo"blad";}

echo "$content";

aha..jutro link moze juz nie dzialac smile.gif
Seth
Castor zadziwiasz mnie. Nie kazdemu chcialo by sie to pisac.
Brawo smile.gif
castor
on marudzi a mi sie nudzi smile.gif

a to juz mialem bo kiedys pisalem smile.gif

laugh.gif laugh.gif laugh.gif

ale sie rymnelo :wink:
rzseattle
No wreszcie jakis konkret biggrin.gif za co wielkie dzienki i poklony castor-owi


tylko to "fputs($fp, "GET http://wiadomosci1.wp.pl/wiadomosc.html?_WID=264376 HTTP/1.1rn"); " mnie niepokoi przeziez rypana wp musi miec cos stalego co umieszcza dana wiadomosc w konkretnym miejscu na stronce glownej (juz pisalem ze jest to link "http://www.wp.pl/r/tg") czy mozna go umiescic w ww komedzie aby to dzialalo bez problemu? Bo moje proby nie przyniosly skutku.




acha i jeszcze jedno--- wypierdziela taki blad:

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of fsockopen(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in C:Strony interentowerzseattletest.php on line 14

moze mi ktos powie o co chodzi
steru
Cytat
No wreszcie jakis konkret biggrin.gif za co wielkie dzienki i poklony castor-owi


tylko to "fputs($fp, "GET http://wiadomosci1.wp.pl/wiadomosc.html?_WID=264376 HTTP/1.1rn"); " mnie niepokoi przeziez rypana wp musi miec cos stalego co umieszcza dana wiadomosc w konkretnym miejscu na stronce glownej (juz pisalem ze jest to link "http://www.wp.pl/r/tg") czy mozna go umiescic w ww komedzie aby to dzialalo bez problemu? Bo moje proby nie przyniosly skutku.

to raczej jeden ciul ktory adres wsadzisz
Cytat
acha i jeszcze jedno--- wypierdziela taki blad:

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of fsockopen(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in C:Strony interentowerzseattletest.php on line 14

moze mi ktos powie o co chodzi

oo - chyba castor o refererku zapomnial
dorzuc gdzies tam jeszcze fputs($fp,"Referer: www.wp.plrn");
castor
Cytat
to raczej jeden ciul ktory adres wsadzisz

ni etak chop siup bo jesli ten adres zwroci mu w naglowku Location: www.wp.pl/wiadomosci.html?cos
to lipka trzeba by to bylo wylapac i otworzyc te strone.
Cytat
oo - chyba castor o refererku zapomnial
dorzuc gdzies tam jeszcze fputs($fp,"Referer: www.wp.plrn");

Ten blad to na refererka mi nie wyglada smile.gif

Ten blad wywala tez ci w orginalnej wersji czy tylko po zmianie adresu?
castor
Cytat
Cytat

to raczej jeden ciul ktory adres wsadzisz

ni etak chop siup bo jesli ten adres zwroci mu w naglowku Location: www.wp.pl/wiadomosci.html?cos
to lipka trzeba by to bylo wylapac i otworzyc te strone.


Jest tak jak myslalem smile.gif

Kod
$adres="http://www.wp.pl/r/tg";

$host="www.wp.pl";

$jestLocation=true;

while($jestLocation){

    $content="";

    $port="80";



    $fp = fsockopen($host, $port, &$ErrNo, &$ErrStr);        

    if (!$fp) {

     die ("$ErrNo $ErrStr");              

    }else{



    fputs($fp, "GET {$adres} HTTP/1.1rn");            

    fputs($fp, "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,*/*rn");                  

    fputs($fp, "Accept-Language: dern");                                        

    fputs($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)rn");  

    fputs($fp, "Connection: closern");                                              

    fputs($fp, "Host: {$host}rn");                                                      

    fputs($fp, "rn");



    while ($buf=fread($fp,1024)) {

       $content.=$buf;

    }

    }



    fclose($fp);

    if(eregi("Location: (.*)Connection:(.*)",$content,$rgs)){

  $adres=chop($rgs[1]);

  unset($rgs);

  eregi("http://(.*)/",$adres,$rgs);

  $host=$rgs[1];

  continue;

    }else if(eregi("<!-- srodkowa kolumna -->(.*)<!-- srodkowa kolumna koniec -->", $content, $rgs)){

         $content=$rgs[0];

         $jestLocation=false;

    }

}



echo "$content";


ale w ten sposob mozna to wylapac smile.gif
Mistycus
Cytat
chcialbym jeszcze zrobic sprawdzanie poczty np. WP z mojej stronki
Czy ktoś prócz Ciebie będzie z tego korzystał :?: Chyba nie zamierzasz kraść hasełek osób, które logują się do WP przez Twoją stronkę :?: :wink:

Cytat
nie chce uzywac jakis debilnych ramek)
Trochę kultury.
Nie chcę używać ramek, bo ich nie lubię - przyzwoitrza wersja :wink:

Cytat
nie raczej nie tylko NIE FTP!! :wink:
Nie "raczej nie", lecz "NIE FTP!!"
Tak byłoby chyba bardziej zrozumiale :wink:
dvc
:oops:
może pomysł z ftp'em nie był najlepszy ale to pierwsze co przysło mi do głowy

choroba, ale od wczoraj rozrósł sie ten temat, kurde nie zdążyłem
odpowiedzieć napisać coś dzisiaj a tu ooooo..........

ale ja słaby jestem, słaby na maksa :?
rzseattle
[quote][quote]chcialbym jeszcze zrobic sprawdzanie poczty np. WP z mojej stronki[/quote]Czy ktoś prócz Ciebie będzie z tego korzystał :?: Chyba nie zamierzasz kraść hasełek osób, które logują się do WP przez Twoją stronkę :?: :wink: [/quote]

Nie poprostu chce zrobic mini serwis tak zeby moja stronka nie stala sie kolejna zapomniana sad.gif. Wiec to mozna porownac do tego ze kolesie z wirualnej tez maja wglad w twoje konto --- ale czy ich to obchodzi?

Pozatym zaniedlugo (jak mi przydziela stale IP) bede mial wlasny serwer i wtedy moze zaloze jakies uslugi mailowe (oczywiscie jesli sie dowiem jak biggrin.gif )

Teraz wlasciwie po maturkach bede mial w cholere wolnego czasu i dlatego juz sobie przygotowuje grunt (dowiaduje sie roznych rzeczy) - a w czerwcu startuje.


dobra teraz troche z praktyki:
- tamten blad wywala mi jak jest z "orginalnym" adresem (czyli bez zmieniania)
- zaraz zabiore sie do testowania "ostatniej wersji" skryptu[/quote]
rzseattle
niestety caly czas wywala ten blad i to w liczbie mnogiej-
2 razy pojawia sie komunikad o tym bledzie
(nawet z dodanym referem)
castor
gdzei go testujesz na localhoscie czy na jakims serwerku?

i na jakim systemie?

bo blad to nie referer tylko referance a to roznica smile.gif

a co do poczty to pomysl sam moge zucic ci na maila podstawowe funkcje obslugi sererow pop3 i smtp leecz dopiero wieczore jak bede w hacie smile.gif


aha i winy nie szukaj w skrypcie bo jest ok!
Anarion
Co Wy jakies roboty czy co? 8O
Jak to umiecie, ile macie lat!?
castor
Cytat
Co Wy jakies roboty czy co? 8O  
Jak to umiecie, ile macie lat!?


questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif

moze jasniej bo nie wiem z czym to zjesc :wink:
dvc
Anarion: questionmark.gifquestionmark.gif
rzseattle
Skrypt testuje na serwerze z winem 2000 i IIs
Pozniej sciagne foxserva i sproboje z localhosta
W sumie jak ten blad bedzie sie pojawial to i tak mnie to bedzie walic bo ten skrypt bedzie wpisywal $content do bazy danych , a nie bedzie wyswietlany. (co nie oznacza ze nie chce sie go pozbyc)
A co do pop3 i smtp to bylbym wdzieczny:
rzseattle@poczta.onet.pl

------------------------------------------------------------------------------------
To forum to jednak jest moc, gdyby wszyscy tu obecni wzieli sie za cos to moglby powstac naprawde dojebany projekt smile.gif
Anarion
smile.gif
Chodzilo mi o Wasza szeroka wiedze smile.gif
castor
Cytat
Skrypt testuje na serwerze z winem 2000 i IIs
Pozniej sciagne foxserva i sproboje z localhosta
W sumie jak ten blad bedzie sie pojawial to i tak mnie to bedzie walic bo ten skrypt bedzie wpisywal $content do bazy danych , a nie bedzie wyswietlany. (co nie oznacza ze nie chce sie go pozbyc)
A co do pop3 i smtp to bylbym wdzieczny:
rzseattle@poczta.onet.pl


wysle wieczorkiem
..a blad mysle ze jest bo IIS moze sockety ci blokuje. Lub nie masz dostepu do nich
zainsatluj sa Apacha na w2k jest bardzo stabilny!
?
Nie wiem lecz ten blad ma cos wspolnego z brakiem referencji soketow
rzseattle
Dobre!!!
U mnie na localhost (apache) nie wybija tych bledow
wiec wszystko jest OK

castor - masz u mnie piwo smile.gif
rzseattle
Teraz to juz tylko ciekawostka!!

Okazuje sie ze WP zmienia nawet linki na glownej stronie (te ktore uwazalem za stale) wiec bede mial przejebana robote z wyciaganiem tych linkow ze strony glownej (chyba se to zostawie na pomaturze smile.gif )

A tu macie przyklad gowna z jakiego trza linki wyciagac:

table width="95%" cellspacing="0" cellspacing="1" border="0"><tr><td colspan="2"><A href=r/bi>więcej wiadomo&para;ci</a> <b



Nie bedzie to tyle trudne co czasochlonne (trza bedzie znalesc wiecej elementow charakterystycznych niz "<a herf=r/" bo to tylko wycinek a tam wszedzie sie przewijaja takie skroty) ale ogolnie jestem dobrej mysli smile.gif
castor
Cytat
castor - masz u mnie piwo smile.gif

:wink:

a do reszty poczytaj o wyrazeniach regularnych ich moc jest potezna:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.