De ce programarea?    Sa progresez continuu...

Sursa paginii: ProTV fara Publicitate


Buna, deci a venit timp-ul sa ma impart cu un simplu script PHP ce a pus bazele postarii unui articol anterior (ProTV fara Publicitate). Il postez din 2 motive: e simplu si al doilea poate cineva are nevoie de el pentru inspiratie.

Deci poftim:
  1. <?php
  2. function file_get_contents_curl($url) {
  3.         $ch = curl_init();
  4.        
  5.         curl_setopt($ch, CURLOPT_HEADER, 0);
  6.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  7.         curl_setopt($ch, CURLOPT_URL, $url);
  8.         curl_setopt($ch,CURLOPT_REFERER,"http://protv.md/");
  9.         curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)");
  10.        
  11.         $data = curl_exec($ch);
  12.         curl_close($ch);
  13.        
  14.         return $data;
  15. }
  16.  
  17. function Curata($html) {
  18.         // FILTRU ADRESE
  19.         $html = str_replace('id="navu" href="', ' href="/parsere/protv.php?u=', $html);
  20.         $html = preg_replace('|<a(.*)href="h|', '<a href="/parsere/protv.php?u=h', $html);
  21.         $html = preg_replace('|href="/stiri|', 'href="/parsere/protv.php?u=http://m.protv.md/stiri', $html);
  22.         // SF. FILTRU ADRESE
  23.  
  24.         //Filtru reclama
  25.         $html = str_replace('<iframe', '<!--iframe', $html); //Scoatem Iframe-urile (ele contin publicitate)
  26.         $html = str_replace('iframe>', 'iframe-->', $html);
  27.         $html = preg_replace('|div style="(.*)" class="promo"|', 'div style="display:none;"', $html);// Ascundem blocul promo cu publicitate
  28.         $html = str_replace('id="navtop"', '', $html);
  29.        
  30.         $html = str_replace('http://go.protv.md/', 'http://my.xbattle.ru/parsere/protv.php?u='.$_GET['u'].'#', $html);
  31.        
  32.  
  33.         return $html;
  34. }
  35.  
  36.  
  37. if (!isset($_GET['u'])) $_GET['u'] = "http://m.protv.md/";// Setam adresa implicita
  38.  
  39. if (preg_match('|(.*)protv.md(.*)|', $_GET['u'])) { // controlam daca facem parse la o pagina protv
  40.         $html = file_get_contents_curl($_GET['u']);// primim continutul GENERAL
  41.         $uora = file_get_contents_curl("http://m.protv.md/scripts/ultimaora.php?_ctr=");// primim continutul ultimei ore
  42.         $top = file_get_contents_curl("http://m.protv.md/scripts/top_stiri/day?_ctr=");// primim continutul topului
  43. } else {
  44.         echo 'Acest parser este adaptat numai pentru ProTV<br/><a href="/parsere/protv.php">Intoarcete la pagina principala</a>';
  45. }
  46.  
  47.  
  48. $html =  Curata($html);// Filtram HTML-ul
  49. $uora = Curata($uora);// Filtram ultima ora
  50. $top = Curata($top);// Filtram Top-ul
  51.  
  52.         // Costomizare
  53.         $html = str_replace('style="height: 35px; margin-left: 2px;"', 'style="display:none;"', $html);// Ascundem partea de sus unde a stat publicitate
  54.         $html = str_replace('style="width: 1003px;height:430px;"', 'style="display:none;"', $html);
  55.  
  56.         $html = str_replace('<div id="uora" class="winXP"></div>', '<div id="uora" class="winXP">'.$uora.'</div>', $html);// Inseram in HTML blocul ultima ora
  57.         $html = str_replace('<div id="tops" >', '<div id="tops" >'.$top, $html);//  Inseram in HTML blocul TOP
  58.  
  59.  
  60. // Anti indexare
  61. $html = str_replace('<body>', '<body><noindex>', $html);
  62. $html = str_replace('</body>', '</noindex></body>', $html);
  63.  
  64. echo $html;// Afisam
  65. ?>

Ți-a plăcut articolul? Apasă Like:

Tag-uri:

Comentarii: