Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Nekoliko pitanja u vezi RSS-a

[es] :: PHP :: Nekoliko pitanja u vezi RSS-a

Strane: 1 2

[ Pregleda: 5008 | Odgovora: 27 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Shejn
Srbija

Član broj: 11830
Poruke: 232
*.dynamic.sbb.co.yu.



Profil

icon Nekoliko pitanja u vezi RSS-a28.10.2007. u 01:04 - pre 200 meseci
Dobar dan radni narode :),

pisem neku skriptu za povlačenje vesti sa drugih sajtova, pa sam naleteo na par problema.
Naime, kada svučem vesti, ne prikazuju mi se naša slova!
Gledao sam ovde na forumu i koliko sam skontao, postupak za otklanjanje ovog problema je, da prvo trebam otkriti encoding xml strane, i zatim da sa nekom funkcijom konvertujem encoding.
E sad moje pitanje je kako otkriti encoding?

Ali ovde nije kraj, trebao bi da prebacim vesti u ćirilicu, pa me interesuje jel postoji neka funkcija za to?

I jos jedno pitanje za kraj, jel moguće da se sa RSS povlače cele vesti ili samo kratki opisi, evo konkretno za http://www.blic.co.yu/rssall.php?
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Nekoliko pitanja u vezi RSS-a28.10.2007. u 15:51 - pre 200 meseci
ako zelis da otkrijes encoding rss-a, pogledaj source tog rss-a, trebalo bi da pise nesto ovako

<?xml version="1.0" encoding="UTF-8" ?>

ili vec koji god da je encoding. ti si naveo za blic. oni za rss nisu naveli direktan encoding, ali kako im je glavni sajt u utf-8, najverovatnije im je i rss takav.

u svom rss-u daju samo kratke vesti, tako da mozes jedino to preuzeti. a ti bi zeleo da prezuimas cele vesti jelda?
 
Odgovor na temu

Shejn
Srbija

Član broj: 11830
Poruke: 232
*.dynamic.sbb.co.yu.



Profil

icon Re: Nekoliko pitanja u vezi RSS-a28.10.2007. u 19:35 - pre 200 meseci
Jel vidis, pa onda ne znam u cemu je problem zasto ne vidim nasa slova ... evo pogledaj i sam :

Code:

<html>
<head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>probna skripta RSS</title>

</head>
<body >
<?php 

require_once 'rss_fetch.inc';

$url = 'http://www.blic.co.yu/rssall.php';
$rss = fetch_rss($url);


$izvor = $rss->channel['title'];
$PubDate = $rss->channel['PubDate'];
$Language = $rss->channel['Language'];

echo "Vesti preuzete sa : ",$Language ," - ", $izvor ," - ", $PubDate , "<br>";

        $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
          
        mysql_select_db($dbname);
        

$items = array_slice($rss->items, 0, 5);


foreach ($items as $item) {
        
        $href = $item[link];
        $title = $item[title];
        $desc = $item[description];
        $image = $item[image];
        $author = $item[author];
        
        
        //$desc = iconv("?????","UTF-8",$desc);
        echo "<li><a href=$href>$title</a> - $image $desc - $author</li>";
        
        $query = "INSERT INTO jos_RSS (izvor, link , description) VALUES ('$izvor', '$href', '$desc')";
        mysql_query($query);
             
        };
        
        mysql_close($conn);
        
        
?>

</body>
</html>


, i da hteo sam cele vesti da preuzmem. Pa jel to znaci da postoje i sajtovi koji pruzaju preuzimanje celih vesti?

 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Nekoliko pitanja u vezi RSS-a29.10.2007. u 18:43 - pre 200 meseci
ne vidis nasa slova jer se negde usput izgubi encoding... imao sam istih problema... resio sam sledecom funkcijom:

Code:

function sredi_karaktere($string){

    

    $string = str_replace("ć","&#263;",$string); //c kao curka

    $string = str_replace("ÅŸ","&#382;",$string);//z kao zurka

    $string = str_replace("Å¡","&#353;",$string);//s kao suma

    $string = str_replace("Ä","&#269;",$string);//c kao cvarak

    $string = str_replace("â€","\"",$string);

    $string = str_replace("œ","",$string);

    $string = str_replace("Â","",$string);

    $string = str_replace("™","",$string);

    $string = str_replace("\"ž","\"",$string);

    $string = str_replace("€","eur",$string);



    return $string;

    

}


mislim da jedino slovo dj fali... pogledaj kada ispises vesti u source-u dobijenog html fajla pogledaj umesto kog karaktera koji karakter ispisuje i ondak stim karakterima napravi slicnu funkciju...
 
Odgovor na temu

Shejn
Srbija

Član broj: 11830
Poruke: 232
195.178.57.*



Profil

icon Re: Nekoliko pitanja u vezi RSS-a30.10.2007. u 09:01 - pre 200 meseci
Problem je sto ja umesto nasih slova vidim znakove pitanja, evo ovako:
Citat:

Povr?ine pod genetski modifikovanim (GM) kulturama u Evropi za 77 odsto su ve?e nego pro?le godine, pokazalo je istra?ivanje koje je ju?e objavio Bi-Bi-Si


i da jel postoje onda sajtovi koji pruzaju preuzimanje celih vesti( daj neki primer ako znas ... ), i koji je naziv za channel element?
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Nekoliko pitanja u vezi RSS-a30.10.2007. u 09:22 - pre 200 meseci
u source vidis znakove pitanja? sad lupam, al` probaj sa menjanjem encodinga tvoje strane koja ispisuje vesti. ili eventualno prilikom snimanja tog fajla, skripta, koji ispisuje vesti, da odaberes encoding utf-8.

a inace sa rss mozes preuzeti samo sto je u xml fajlu, znaci jedino ako je cela vest u xmlu onda mozes preuzeti celu vest... ili napisi mejl wembasteru doticnog sajta (recimo blic) i lepo ga pitaj da li mozes nekako preuzeti celu vest...

btw. kako preuzimas rss? vidim imas neki rss_fetch.inc fajl. verujem da on radi posao. samo me interesuje kako si pravio? simplexml_load_file ili si pravio ceo parser?
 
Odgovor na temu

milton

Član broj: 121508
Poruke: 43
*.ip.fastwebnet.it.

Sajt: www.complus.it


Profil

icon Re: Nekoliko pitanja u vezi RSS-a30.10.2007. u 15:16 - pre 200 meseci
proveri u php.ini sledecu var:
mysql.connect_charset = utf8

to ti omogucava da ti php kao client upisuje u mysql utf kodifirane char

posle toga naravno proveri koji su charset za xml/rss feed koje preuzimas

imas i ovde malo vise info o (de)kodifikaciji:

http://www.elitesecurity.org/t280813-0#1676973


 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: Nekoliko pitanja u vezi RSS-a30.10.2007. u 21:18 - pre 200 meseci
rss_fetch.inc je deo magpie projekta koji je inače vrlo dobar rss čitač, pa ne bi trebalo da imaš problema s njim, ja ga koristim i do sada mi je problem pravio samo sa cp1250 enkodingom, UTF8 radi perfektno.

Možda bi pomoglo da ga "apdejtuješ". Zvanično poslednja verzija ima oznaku 0.72, a ja koristim dorađenu verziju koju sam maznuo iz paketa "gregarius" gde je dodata podrška za Atom1.0.

Ako ni to ne pomogne onda će biti da ti fale mbstring ili iconv ekstenzije na serveru.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Shejn
Srbija

Član broj: 11830
Poruke: 232
*.dynamic.sbb.co.yu.



Profil

icon Re: Nekoliko pitanja u vezi RSS-a30.10.2007. u 21:19 - pre 200 meseci
... i ako ne upisujem u bazum tj. :

Code:

<html>
<head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>probna skripta RSS</title>

</head>
<body >
<?php 

require_once 'rss_fetch.inc';

$url = 'http://www.blic.co.yu/rssall.php';
$rss = fetch_rss($url);


$izvor = $rss->channel['title'];
$PubDate = $rss->channel['PubDate'];
$Language = $rss->channel['Language'];

echo "Vesti preuzete sa : ",$Language ," - ", $izvor ," - ", $PubDate , "<br>";
        

$items = array_slice($rss->items, 0, 5);


foreach ($items as $item) {
        
        $href = $item[link];
        $title = $item[title];
        $desc = $item[description];
        $image = $item[image];
        $author = $item[author];
      
        echo "<li><a href=$href>$title</a> - $image $desc - $author</li>";
        
        };
      
        
?>

</body>
</html>


i dalje se javlja isti problem. Probao sam i sa drugim izvorima i opet nista ... Eto ako hocete probajte vi kod vas pa mi javite kako je kod vas ispalo ....
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: Nekoliko pitanja u vezi RSS-a31.10.2007. u 00:13 - pre 200 meseci
Isprobao www.blic.co.yu/rssall.php i radi lepo s našim slovima.

Probaj da mu ovako forsiraš ulazni enkoding (isprobaj razne vrednosti):
define('MAGPIE_INPUT_ENCODING', 'ISO-8859-1');

Nadam se da si isključio keširanje (MAGPIE_CACHE_ON) dok ovo isprobavaš jer će ti stalno gledati iz keša a na to neće uticati promena MAGPIE_INPUT_ENCODING-a.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Shejn
Srbija

Član broj: 11830
Poruke: 232
*.dynamic.sbb.co.yu.



Profil

icon Re: Nekoliko pitanja u vezi RSS-a31.10.2007. u 05:26 - pre 200 meseci
Evo ga ljudi konacno je proradilo kako treba.

Evo ga i code ako neko naleti na slican problem:

Code:

<html>
<head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>probna skripta RSS</title>

</head>
<body >
<?php 

require_once 'rss_fetch.inc';
define('MAGPIE_CACHE_ON', false);
define('MAGPIE_INPUT_ENCODING', 'UTF-8');
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');

$url = 'http://www.blic.co.yu/rssall.php';
$rss = fetch_rss($url);


$izvor = $rss->channel['title'];

echo "<br/>Vesti preuzete sa : ", $izvor ,"<br><br>";
        

$items = array_slice($rss->items, 0, 5);


foreach ($items as $item) {
        
        $href = $item[link];
        $title = $item[title];
        $desc = $item[description];
      
        echo "<li><a href=$href>$title</a> $desc</li>";
        
        };
      
        
?>

</body>
</html>



Hvala svima i prijatno ...

 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: Nekoliko pitanja u vezi RSS-a31.10.2007. u 07:11 - pre 200 meseci
Ako je proradilo, uključi keširanje da ne cimaš blic-ov sajt svaki put.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Shejn
Srbija

Član broj: 11830
Poruke: 232
*.dynamic.sbb.co.yu.



Profil

icon Re: Nekoliko pitanja u vezi RSS-a31.10.2007. u 18:07 - pre 200 meseci
Vesti ce se svlaciti u bazu, ovde to nije odradjeno, inace ce ici, tako da mislim da ne mora da se ukljucuje kesiranje ... ispravi me ako gresim.

Inace stvar se jos malo zakomplikovala, posto su vesti na latinici a sajt je na cirilici ... i ustvari veliko I vesti se skidaju sa bete a oni u <description> imaju i sliku (a ne posebno). Tako da sam prvo morao da iscupam sliku van description-a pa tek onda strip_tags i lat2cyr ... muka ziva.

Uostalom evo pogledaj te:

Code:

<html>
<head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>probna skripta RSS</title>

</head>
<body >
<?php 

function lat2cyr($str) {

    $str = str_replace("dž", "dž", $str);
    $str = str_replace("nj", "nj", $str);
    $str = str_replace("lj", "lj", $str);
    $str = str_replace("a", "a", $str);
    $str = str_replace("b", "b", $str);
    $str = str_replace("v", "v", $str);
    $str = str_replace("g", "g", $str);
    $str = str_replace("d", "d", $str);
    $str = str_replace("đ", "đ", $str);
    $str = str_replace("e", "e", $str);
    $str = str_replace("ž", "ž", $str);
    $str = str_replace("z", "z", $str);
    $str = str_replace("i", "i", $str);
    $str = str_replace("j", "j", $str);
    $str = str_replace("k", "k", $str);
    $str = str_replace("l", "l", $str);
    $str = str_replace("m", "m", $str);
    $str = str_replace("n", "n", $str);
    $str = str_replace("o", "o", $str);
    $str = str_replace("p", "p", $str);
    $str = str_replace("r", "r", $str);
    $str = str_replace("s", "s", $str);
    $str = str_replace("t", "t", $str);
    $str = str_replace("ć", "ć", $str);
    $str = str_replace("u", "u", $str);
    $str = str_replace("f", "f", $str);
    $str = str_replace("h", "h", $str);
    $str = str_replace("c", "c", $str);
    $str = str_replace("č", "č", $str);
    $str = str_replace("š", "š", $str);
    
    $str = str_replace("LJ", "Lj", $str);
    $str = str_replace("NJ", "Nj", $str);
    $str = str_replace("DŽ", "Dž", $str);
    $str = str_replace("A", "A", $str);
    $str = str_replace("B", "B", $str);
    $str = str_replace("V", "V", $str);
    $str = str_replace("G", "G", $str);
    $str = str_replace("D", "D", $str);
    $str = str_replace("Đ", "Đ", $str);
    $str = str_replace("E", "E", $str);
    $str = str_replace("Ž", "Ž", $str);
    $str = str_replace("Z", "Z", $str);
    $str = str_replace("I", "I", $str);
    $str = str_replace("J", "J", $str);
    $str = str_replace("K", "K", $str);
    $str = str_replace("L", "L", $str);
    $str = str_replace("M", "M", $str);
    $str = str_replace("N", "N", $str);
    $str = str_replace("O", "O", $str);
    $str = str_replace("P", "P", $str);
    $str = str_replace("R", "R", $str);
    $str = str_replace("S", "S", $str);
    $str = str_replace("T", "T", $str);
    $str = str_replace("Ć", "Ć", $str);
    $str = str_replace("U", "U", $str);
    $str = str_replace("F", "F", $str);
    $str = str_replace("H", "H", $str);
    $str = str_replace("C", "C", $str);
    $str = str_replace("Č", "Č", $str);
    $str = str_replace("Š", "Š", $str);
    
    
    return $str;

}


require_once 'rss_fetch.inc';
define('MAGPIE_CACHE_ON', false);
define('MAGPIE_INPUT_ENCODING', 'UTF-8');
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');

$url = 'http://www.beta.co.yu/rssvd.asp';
$rss = fetch_rss($url);


$izvor = $rss->channel['title'];

echo "<br/><strong>Vesti preuzete sa : ", $izvor ,"</strong><br><br>";
        

$items = array_slice($rss->items, 0, 5);


foreach ($items as $item) {
        
        $href = $item[link];
        $title = $item[title];
        $desc = $item[description];
        
        $pattern = '/<img(.+?)[\s]+?src=[\'"](.+?)[\'"].*?>/i';
        if (preg_match($pattern, $desc, $out)) {
            $image = $out[0];    
          }
        else {
            $image = "Ne mogu da pronadjem image tag!";
        } 
  
        $desc = strip_tags($desc);
  
        $title =lat2cyr($title);
        $desc = lat2cyr($desc);
  
        //echo "<li><a href=$href>$title</a> $image - $desc</li>";
        echo "<p><li><strong>$title</strong><br>$image $desc</li></p>";
        
};
      
        
?>

</body>
</html>



jedino mi se nesvidja pattern, moracu jos malo na njemu da radim, ali za prvo vreme je ok.

Ako neko ima neki predlog za pattern ... samo napred.
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Nekoliko pitanja u vezi RSS-a01.11.2007. u 09:08 - pre 200 meseci
strip_tags ima dodatnu opciju, allow_tags

strip_tags($text, '<img>');

posto je uglavnom link ka slici a ne sama slika onda to mozes bez problema upisati u bazu. ja sam tako odradio i radi bez problema.
 
Odgovor na temu

Shejn
Srbija

Član broj: 11830
Poruke: 232
*.dynamic.sbb.co.yu.



Profil

icon Re: Nekoliko pitanja u vezi RSS-a01.11.2007. u 16:22 - pre 200 meseci
Da, nije mi problem bio upis u bazu, vec mi je problem bio prevod na cirilicu, posto mi je funkcija, normalno, prevodila i html tagove ....


Kad se vec pomenuo upis u bazu, ja sam isto kontao da upisujem samo putnju u bazu a da sliku skladistim na server. Problem mi je sto je dosta toga zabranjeno na hostingu, pa sad pokusavam da odradima sa CURL-om posto je on enable-ovan. Jel si imao neko iskustvo sa tim mozda?

Evo dokle sam stigao:
Code:

$path_to = '/home/web/..../www/temp/image_1.jpg';
$url = 'http://www.......jpg';
            
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
            
            
$file_wnew = fopen($path_to,'wb');
            
while (!feof($res)) {
$chunk_rd = fread($res,1024);
fwrite($file_wnew,$chunk_rd); 
}
            
fclose($file_wnew);
fclose($res);


ali dobijam gresku
Code:

Warning: fopen(/home/web/..../www/temp/image_1.jpg) [function.fopen]: failed to open stream: Permission denied in /home/web/..../blabla.com/www/rss.php on line 207


 
Odgovor na temu

Shejn
Srbija

Član broj: 11830
Poruke: 232
*.dynamic.sbb.co.yu.



Profil

icon Re: Nekoliko pitanja u vezi RSS-a01.11.2007. u 16:45 - pre 200 meseci
pa da sad vidim da je i
Code:

allow_url_fopen    Off


zato i dobijam onu gresku ... kako sad to da zaobidjem?


e jbg , jel ima neko ko se susretao sa ovim problemom?
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
77.46.244.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Nekoliko pitanja u vezi RSS-a01.11.2007. u 18:40 - pre 200 meseci
Izedituješ php.ini i prebaciš na ON ili pozoveš tehničku podršku i zamoliš ih da oni to urade za tebe...
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Shejn
Srbija

Član broj: 11830
Poruke: 232
*.dynamic.sbb.co.yu.



Profil

icon Re: Nekoliko pitanja u vezi RSS-a01.11.2007. u 20:25 - pre 200 meseci
nismo se razumeli, to su oni i zabranili, ja trazim neko rasenje da to zaobidjem ....
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Nekoliko pitanja u vezi RSS-a02.11.2007. u 03:30 - pre 200 meseci
http://php.net/filesystem

Citat:

Note: This setting can only be set in php.ini due to security reasons.


dakle, ne mozes :)


mada vidi jel ti curl extenzija instalirana, ona moze da te "spasi" (ili snoopy skripta)
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Nekoliko pitanja u vezi RSS-a02.11.2007. u 07:42 - pre 200 meseci
Code:
    
$tempXMLfile = 'test.xml';
$ch = curl_init();    

curl_setopt($ch, CURLOPT_URL, $url_koji_otvaras);
curl_setopt($ch, CURLOPT_PROXY, CHECKACCESS_PROXY);

$fp = fopen("test.xml", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$output = curl_exec($ch);
fclose($fp);
$intReturnCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

$handle = fopen($tempXMLfile, 'w+');

fwrite($handle, $output);

fclose($handle);

// dalje radim sa mojim fajlom test.xml koji je na mom serveru


posto mi je bilo jako hitno trebalo kad mi je trebalo, nisam ulazio u srz curl-a, a i server na kojem sam radio je bio extremno pun zabrana, tako da sam ga skontao ovako da radi:
imam svoj temp fajl (ovo sam koristio za citanje rss-a, zato je xml fajl :)) i u njega upisujem ono sto sam otvorio na remote serveru pomocu curl-a i posle baratam sa tim temp fajlom. samo nakon sto zavrsis sa temp fajlom ne zaboravi da ga ispraznis. hope it helps ;)
 
Odgovor na temu

[es] :: PHP :: Nekoliko pitanja u vezi RSS-a

Strane: 1 2

[ Pregleda: 5008 | Odgovora: 27 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.