» »

Grab content

Grab content

Tody ::

Že neki časa iščem oz se probavam naučit ta php... Zanima me kako bi najlažje (da ne bi zdej se učil še kakega perla al pa cgi )vzel iz te strani (http://www.ucomics.com/garfield/index.p... sliko in jo prilimal na mojo stran ? Neke grab contente se že probaval ampak to samo text vleče sem in tja, kar v tem primeru niti ni fora... Sej kake velke uporabnosti vsa ta zadeve nebi imela je pa dost cool ker se velik naučiš ko delaš take strani. Aja fora je v tem da se bi stripi dnevno obnavljal, ne da jest vsak dan menjam URL

BluPhenix ::

Ne razumem čisto kaj bi rad naredil. Shranil sliko na tvoj računalnik al naredil skripto, ki bi te slike prenašala na tvojo stran. Po domače, bi spizdu stripe >:D

Sprebral še enkrat, očitno gre za drugo :D

Tudi jaz nimam kaj preveč pojma o phpju, lahko pa predlagam algoritem. Seveda dreži le za te grafield stripe, vendar se da raszširiti tudi na drugo.

Glede na to, da ima vedno isto strukturo imena gaxxxxxxx.jpg, iščeš file ki ustrezajo takemu filtru. Pač ker si datumi nekako sledijo, le povečaš številko datuma. Če slike ni, gre skripta naprej. Tako lahko najdeš slike, za jih vleči pa nimam pojma >:D . Poglej po teh grabih, ki jih imaš, mogoče obstaja kakšna funkcija v PHPju, ki to omogoča.

Mogoče to: kljikk

V prvo sliko dobiš s pomočjo zgoraj opisanjega "algoritma".
Podpisa ni več, ker so me poskušali asimilirati.

Zgodovina sprememb…

Tody ::

Pred časom je Gnadolf po emailu pošiljal tako stvar. Vsak dan si dobil en email z 10 stripi.

Torej gre iskat sliko in jo prinese na mojo stran

Ziga Dolhar ::

Pogledaš strukturo (HTMLja) zadevne strani s stripom, razbereš vzorec, ki v sebi definira sliko, npr:

/../
<div class="comeec">
  <img src="slikca.jpg" alt="UserFriendly Comeec" />
</div>
/../


Nato zaprežeš PHP skripto, ki 'odpre' spletno stran (fopen() recimo oz. druge funkcije za delo s HTTPjem) in iz nje porežeš ta vzorec vse do imena slike (regexp, lahko tudi explode ...).
https://dolhar.si/

Tody ::

vidim da sem si odličen projekt za novinca zbral... :\

Ziga Dolhar ::

Lej, Tody. Še zmer padam na grmade.
https://dolhar.si/

Tody ::

hey men ni problem odprt 10 zavihov v firefoxu jest bi se rad nauču php ;)Oz dinamičnega progarmiranja

Ziga Dolhar ::

Link
EduLink

Zelo, zelo špartansko. Ampak hitro.
https://dolhar.si/

Tody ::

Hvala Ziga maš pivo/sok v dobrem... Če prideš na nest ali pokličeš ko boš v lj ;)

Ziga Dolhar ::

Preferiram grmado :P. BTW, si uspel "priredit" skripto za Garfielda?

p.s.: glede Garfielda bi se dalo skripto spisat lepše, da bi zgolj na podlagi "današnjega" datuma generirala link. Vendar to ni najbolj zanesljiv pristop. [Noben ni 100 % ...]
https://dolhar.si/

rokpok ::

Primer, kako se podobne zadeve napiše:
<?php
	$filename = 'ga' . date ('ymd') . '.gif';
	$source = 'http://images.ucomics.com/comics/ga/2006/' . $filename;
	$localSource = 'images/' . $filename;
	if (!file_exists ($localSource)) {
		copy ($source, $localSource);
	}
	echo '<img src="' . $localSource .'" alt="slikica" />';
?>
Če slika ne obstaja na tvojem serverju, jo najprej skopiraš iz izvornega na tvoj server. Kasneje pa samo prikazuješ sliko iz tvojega servera. Tako veliko pridobiš na hitrosti izvajanja. Opomba: funkcija copy () ne bo delala, če je v PHP konfiguraciji izklopljena možnost allow_url_fopen.
Rad bi bil pingvin.

Tody ::

Vse lepo in prav zdej morem še ugotovit zakaj kaka vrstica, drugače nima pomena :D Hvala obema !

Tody ::

Da ne odpiram nove teme, bom obudil zdaj tole :)

Šele zdaj sem se spravil tele stripe delat, pa mi nekako ne znese :) Medtem ko sem brez problema implementiral rokovo kodo, je problem v tem da strežnik ob polnoči zamenja datum in se ubistvu stripi ne prikazujejo več. Kar je lahko nadležno, zato sem se hotel poslužiti Žigove kode ampak mi nekako ne rata.

Če apliciram na nek drug strip mi javi da Undefined offset, tuki je pa ta koda :

<?php
$stream = fopen('http://www.userfriendly.org/', 'rb');
$contents = stream_get_contents($stream);

$contents = explode('SRC="http://www.userfriendly.org/cartoons/archives/', $contents, 2); <--- ta vrstica mi 
ni čist jasna in seveda 
naslednja kaj točn delata. Kakor sem prebral ubistvu nastaviš od kje 
naprej naj bere ampak jest katerkoli številko dam mi ne dela 
$contents = explode('"></A>', $contents[1], 2);

$result = 'http://www.userfriendly.org/cartoons/archives/'.$contents[0];

echo '<img src="'.$result.'" />';

?>


Zdej kolikor sem pogruntal moram samo pravilno nastavit te 3 cifre... Samo nikjer nisem zasledil kaj točno pomenijo in če je link do stripa
kako naj jih nastavim ? Ker nemorem nekega vzorca naredit ker nimam pojma kaj pomenijo tiste številke, ki se na prvi uč generirajo na random.

P.s. Žiga še vedno sem ti dolžen tisto grmado. Ob prvi priliki dobiš 3 z obrestmi :D

Zgodovina sprememb…

  • spremenil: Tody ()

Ziga Dolhar ::

Em, kaj bi ti pravzaprav rad naredu? (Sem slučajno opazu, da imam tole skripto še vedno na strežniku, in še vedno deluje :).)
https://dolhar.si/

Ziga Dolhar ::

Aja, če bi pa slučajno rad "popravil" rokovo kodo, bi pa šlo takole:

Rokovo vrstico, ki se prične s "$source = "... zamenjaj s tole mojo:

$stream = fopen('http://www.userfriendly.org/', 'rb');
$contents = stream_get_contents($stream);

$contents = explode('SRC="http://www.userfriendly.org/cartoons/archives/', $contents, 2);
$contents = explode('"></A>', $contents[1], 2);

$result = 'http://www.userfriendly.org/cartoons/archives/'.$contents[0];

// prilagoditev mojega razultata rokovi kodi
$source = $result;
https://dolhar.si/

Zgodovina sprememb…

Tody ::

Ne ne, rad bi popravil tvojo kodo tako da dela še za kak link pa me zanima kaj pomenijo tiste številke "$contents, 2" in " $contents[1], 2"

Bral sem na php manual da explode lahko združi dele kode in to sem razumel zakaj in kako, nevem točno kaj naraedit spremenljivka $contents (razen tega da dobi string od odprte povezave) in kako nastavit številke da bo delal še na kakem drugem stripu recimor temu

Ziga Dolhar ::

Delujoča skripta
Source

Zgornja polovica je za tvojo prejšnjo sliko, spodnja pa za tale arhiv.
https://dolhar.si/

Ziga Dolhar ::

Glede funkcije explode(),

array explode ( string $delimiter , string $string [, int $limit ] )

Funkcija sama pač razdruži nek string ($string) na več delov; razdruži jih na mestu, kjer se nahaja $delimiter. Tretji argument, $limit, določi največje število delcev, ki naj jih funkcija vrne - oziroma, po kolikšnem številu "eksplodiranj" naj se ustavi ter preneha z iskanjem novih delcev.

Če mi explode v $rezultat vrne dve rešitvi, se torej prva imenuje $rezultat[0], druga pa $rezultat[1]. "0" za tisto, kar je bilo "pred" oz. na začetku inputa, in 1 kar je bilo od prvega delimiterja dalje - vse do konca.
https://dolhar.si/

Tody ::

Evo pa sem naredil nekaj :) Stvar ni lih tko uspela kot sem upal, ampak to vrjetno samo zato ker sem res antitalent za programiranje in rabim 100 let da pokapiram in če kaj ne dela tko kot je bilo predvideno, se mi možnosti hitro skrčijo.

Nekaj stripov je narejenih na "datum" tako da od pol noči pa do okol 7,8 zjutri po našem času niso vidni. Sem hotel uvest to stream metodo, pa ne znam al pa negre. Ker majo na strežniku izklopljeno brskanje po folderjih, mi vrne nazaj error, ker očitno ne more explodirat naprej, tako da se ustavi na http://images.ucomics.com/comics/crbc/ moral bi pa najti še 2008/crbc080117.gif. Če dam drugo pot, kjer so tud kao dosegljivi (in te ne zavrne server ) http://www.gocomics.com/bc/2008/01/19/ mi pa vrne da nisem pravilno nastavil offset in da bi ga pa on rad.

Torej rezultat je v končni fazi viden tukaj stran na www.todyland.net

Zgodovina sprememb…

  • spremenil: Tody ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Pomoč pri izdelavi Python skripte (strani: 1 2 )

Oddelek: Programiranje
615846 (4492) BigWhale
»

jquery in div-i (strani: 1 2 )

Oddelek: Izdelava spletišč
8711295 (10033) lisjak
»

Uporaba spremenjivke iz JavaScript v PHP

Oddelek: Programiranje
171434 (1073) direstrait
»

[PHP]Zajem podatkov iz baze

Oddelek: Programiranje
354049 (3686) cobrica
»

[php] Knjiga gostov

Oddelek: Izdelava spletišč
293161 (2364) darix

Več podobnih tem