Pagina 1 din 2 12 UltimulUltimul
Rezultate 1 la 10 din 15

Subiect: Script pentru vampirizat site-ul BNR ;-)

  1. #1
    Avatarul lui rev
    rev
    rev este deconectat Membru SeoPedia
    Reputatie:
    27
    Data înscrierii
    31st January 2005
    Locaţie
    Baia Mare, Romania
    Vârstă
    40
    Posturi
    62
    Putere Rep
    27


    Implicit Script pentru vampirizat site-ul BNR ;-)

    Cod:
    <?
    
    	/* === === === === === === === === === === === === === === === === === === === === ===
    
    	
    
    	CREATE TABLE `currency` (
    
      `id` mediumint(8) unsigned NOT NULL auto_increment,
    
      `date_stamp` date NOT NULL default '0000-00-00',
    
      `usd` varchar(10) NOT NULL default '',
    
      `eur` varchar(10) NOT NULL default '',
    
      PRIMARY KEY (`id`)
    
    	);
    
    	
    
    	=== === === === === === === === === === === === === === === === === === === === === */
    
    
    
    	$currency_url = 'http://www.bnro.ro/Ro/Info/default.asp';
    
    	
    
    	$db_host   = '';
    
    	$db_username = '';
    
    	$db_password = '';
    
    	$db_database = '';
    
    	$db_table  = '';
    
    	
    
    	$debug = 0;
    
    	
    
    	/* === === === === === === === === === === === === === === === === === === === === === */
    
    
    
    	function convert_to_mysql_date($date, $debug = 0) {
    
     $mysql_date = '';
    
     
    
     $date = str_replace('.', ' ', $date);
    
     $date_exploded = explode(' ', $date);
    
     
    
     $day = $date_exploded[0];
    
     $month = $date_exploded[1];
    
     $year = $date_exploded[2];
    
     
    
     $month_array = array('ian', 'feb', 'mar', 'apr', 'mai', 'iun', 'iul', 'aug', 'sep', 'oct', 'nov', 'dec');
    
     $month = array_search($month, $month_array) + 1;
    
    
    
     if(checkdate($month, $day, $year)) {
    
     	$mysql_date = sprintf("%04d", $year).'-'.sprintf("%02d", $month).'-'.sprintf("%02d", $day);
    
     	if($debug) echo($date.' was converted to '.$mysql_date.'<br>'."n");
    
     } else {
    
     	if($debug) echo('There was an error converting '.$date.' to a MySQL date.<br>'."n");
    
     }
    
     
    
     return($mysql_date);
    
    	}
    
    	
    
    	function get_currency_page_contents($currency_url, $debug = 0) {
    
     $currency_page_contents = '';
    
     
    
     $fh = @fopen($currency_url, 'r');
    
     if($fh) {
    
     	if($debug) echo('Successfully opened provided URL.<br>'."n");
    
     	
    
     	while(!feof($fh)) {
    
      	$currency_page_contents .= fread($fh, 8192);
    
     	}
    
     	
    
     	fclose($fh); 	
    
     } else {
    
     	if($debug) echo('There was an error opening the provided URL.<br>'."n");
    
     }
    
     
    
     return($currency_page_contents);
    
    	}
    
    	
    
    	function get_date_array($currency_page_contents, $debug = 0) {
    
     $date_arr = array();
    
     
    
     preg_match("'simbol</th>(.*?)</tr>'si", $currency_page_contents, $match_date);
    
     preg_match_all("'<th>(.*?)</th>'si", $match_date[1], $date_array);
    
     for($i = 0; $i < count($date_array[0]); $i++) {
    
     	$date_arr[] = trim(convert_to_mysql_date($date_array[1][$i], $debug));
    
     	if($debug) echo('date_arr['.$i.'] = '.$date_arr[$i].'<br>'."n");
    
     }
    
     
    
     return($date_arr);
    
    	}
    
    	
    
    	function get_usd_array($currency_page_contents, $debug = 0) {
    
     $usd_arr = array();
    
     
    
     preg_match("'usd</td>(.*?)</tr>'si", $currency_page_contents,$match_usd);
    
     preg_match_all("'<td.*?>(.*?)</td>'si", $match_usd[1], $usd_array);
    
     for($i = 0; $i < count($usd_array[0]); $i++) {
    
     	$usd_arr[] = trim(str_replace(' ', '', $usd_array[1][$i]));
    
     	if($debug) echo('usd_arr['.$i.'] = '.$usd_arr[$i].'<br>'."n");
    
     }
    
     
    
     return($usd_arr);
    
    	}
    
    	
    
    	function get_eur_array($currency_page_contents, $debug = 0) {
    
     $eur_arr = array();
    
     
    
     preg_match("'eur</td>(.*?)</tr>'si", $currency_page_contents, $match_eur);
    
     preg_match_all("'<td.*?>(.*?)</td>'si", $match_eur[1], $eur_array);
    
     for($i = 0; $i < count($eur_array[0]); $i++) {
    
     	$eur_arr[] = trim(str_replace(' ','', $eur_array[1][$i]));
    
     	if($debug) echo('eur_arr['.$i.'] = '.$eur_arr[$i].'<br>'."n");
    
     }
    
     
    
     return($eur_arr);
    
    	}
    
    	
    
    	if(trim($db_host) != '' && trim($db_username) != '') {
    
     $db_link = @mysql_connect($db_host, $db_username, $db_password) or die('DB Error - Could not connect to database: '.mysql_error());
    
     mysql_select_db($db_database) or die('DB Error - Could not select database: '.mysql_error());
    
     
    
     $currency_page_contents = get_currency_page_contents($currency_url, $debug);
    
     
    
     if($currency_page_contents) {
    
     	$date_array = get_date_array($currency_page_contents, $debug);
    
     	$usd_array = get_usd_array($currency_page_contents, $debug);
    
     	$eur_array = get_eur_array($currency_page_contents, $debug);
    
     	
    
     	foreach($date_array as $key => $date) {
    
      $usd = $usd_array[$key];
    
      $eur = $eur_array[$key];
    
      
    
      $query = "SELECT usd, eur FROM $db_table WHERE date_stamp = '$date'";
    
      $result = mysql_query($query) or die('DB Error - Query failed: ' . mysql_error());
    
      
    
      if($result) {
    
      	$date_exists = mysql_num_rows($result);
    
      	if($date_exists) {
    
       $row = mysql_fetch_array($result);
    
       list($db_usd, $db_eur) = $row;
    
       if($db_usd != $usd or $db_eur != $eur) {
    
       	if($debug) echo('Difference found between the stored and online values of EUR and USD. Updating...<br>'."n");
    
       	
    
       	$query = "UPDATE $db_table SET usd = '$usd', eur = '$eur' WHERE date_stamp = '$date'";
    
       	$result = mysql_query($query) or die('DB Error - Query failed: '.mysql_error());
    
       }
    
      	} else {
    
       if($debug) echo('Inserting new row...<br>'."n");
    
       
    
       $query = "INSERT INTO $db_table (date_stamp, usd, eur) VALUES ('$date', '$usd', '$eur')";
    
       $result = mysql_query($query) or die('DB Error - Query failed: '.mysql_error());
    
      	}
    
      }
    
     	}
    
     }
    
    	} else {
    
     if($debug) echo('No database host or no username entered.<br>'."n");
    
    	}
    
    ?>
    Revin cu un howto mai tarziu.

  2. #2
    Avatarul lui filip
    filip este deconectat Membru SeoPedia
    Reputatie:
    27
    Data înscrierii
    9th April 2005
    Posturi
    46
    Putere Rep
    27


    Implicit

    Mi-ai furat "clientii" de la enews.ro
    Filip Lepus
    <a href=\'http://www.filipnet.ro/web-design.html\' target=\'_blank\'>Web design</a> <a href=\'http://www.filipnet.ro/optimizare-seo.html\' target=\'_blank\'>Optimizare SEO</a>
    <a href=\'http://www.protectie.ro/\' target=\'_blank\'>Protectia muncii</a>

  3. #3
    Avatarul lui rev
    rev
    rev este deconectat Membru SeoPedia
    Reputatie:
    27
    Data înscrierii
    31st January 2005
    Locaţie
    Baia Mare, Romania
    Vârstă
    40
    Posturi
    62
    Putere Rep
    27


    Implicit

    Ne gandeam cu Razvan sa oferim pe SeoPedia feed-uri XML. Gratuit. Hehe.

  4. #4
    Avatarul lui geosoft
    geosoft este deconectat Membru SeoPedia
    Reputatie:
    28
    Data înscrierii
    8th October 2004
    Locaţie
    Brasov
    Posturi
    266
    Putere Rep
    28


    Implicit

    ar fi misto... altfel, daca am timp, o sa fac eu un script de parsat prima pagina de pe forum

    offtopic:
    eu folosesc un client numit klipfolio... f. bun... parerea mea

  5. #5
    Avatarul lui andypopa
    andypopa este deconectat Membru SeoPedia
    Reputatie:
    0
    Data înscrierii
    28th July 2005
    Locaţie
    Bucuresti
    Posturi
    417
    Putere Rep
    0


    0 out of 1 members found this post helpful.

    Implicit

    err... how-to-ul acela pe cand?

  6. #6
    Avatarul lui Kul
    Kul
    Kul este deconectat Membru SeoPedia
    Reputatie:
    26
    Data înscrierii
    16th July 2005
    Locaţie
    Constanta
    Vârstă
    41
    Posturi
    47
    Putere Rep
    26


    Implicit

    dpdv "sa facem internetul mai bun" scripturile acestea de "vampirizat" BNR-ul ar trebui sa aiba in vedere:

    - cursul nu se schimba decat zilnic pe site-ul BNR, o data pe zi, nu in fiecare ora, nu in fiecare minut. si nici nu se actualizeaza in weekend.
    - daca l-ai luat 1 data pe zi nu-l mai lua a 2-a oara

    a) si poti tu stabili o ora ex. 8:15 cand faci update-ul de curs
    b) daca o faci chiar la prima citire din zi poti risca ca un somnabul sa intarzie cursul pe site-ul tau cu o zi
    c) nu stiu daca exista o ora oficiala cand se face update-ul la curs, ori e la prima ora din programul 8-16, ori la 4 am dimineata crontime job hour

    - vizitatorului i se ofera valoarea din db, nu e necesar sa se verifice de fiecare data, la fiecare vizita, basca la fiecare incarcare de pagina, cursul pe site-ul BNR => acolo unde se poate o variabila de sesiune care citeste din db la initializare valoarea cursului

    stiu ca nu-i timp, si e bine cand e si asa macar. dar de-as fi admin la bnr as bana ip-urile cu jdemii de accesari pe ora pe pagina de curs

  7. #7
    Avatarul lui Ciprian Sorlea
    Ciprian Sorlea este deconectat Ambasador
    Reputatie:
    28
    Data înscrierii
    5th September 2005
    Locaţie
    Cluj Napoca, Romania
    Vârstă
    38
    Posturi
    885
    Putere Rep
    28


    Implicit

    Originally posted by Kul
    [b]dpdv "sa facem internetul mai bun" scripturile acestea de "vampirizat" BNR-ul ar trebui sa aiba in vedere:

    - cursul nu se schimba decat zilnic pe site-ul BNR, o data pe zi, nu in fiecare ora, nu in fiecare minut. si nici nu se actualizeaza in weekend.
    - daca l-ai luat 1 data pe zi nu-l mai lua a 2-a oara
    La un cron-job v-ati gandit?
    Scriem pe blog despre Optimizare site-uri.
    Avem pentru voi peste 20 de Unelte SEO.

  8. #8
    Avatarul lui Kul
    Kul
    Kul este deconectat Membru SeoPedia
    Reputatie:
    26
    Data înscrierii
    16th July 2005
    Locaţie
    Constanta
    Vârstă
    41
    Posturi
    47
    Putere Rep
    26


    Implicit

    accesul la cron-job nu este intotdeauna facil
    facand asta in aplicatie cursul este disponibil cu prima ocazie cand e utilizat site-ul (per ziua respectiva, etc.)

  9. #9
    Avatarul lui danic
    danic este deconectat Membru SeoPedia
    Reputatie:
    0
    Data înscrierii
    16th November 2004
    Locaţie
    Timisoara, Timis
    Vârstă
    37
    Posturi
    255
    Putere Rep
    0


    0 out of 1 members found this post helpful.

    Implicit

    Originally posted by rev
    [b]Ne gandeam cu Razvan sa oferim pe SeoPedia feed-uri XML. Gratuit. Hehe.
    SeoPedia sa ofere curs valutar, meteo si revista presei? What's the point?

  10. #10
    Avatarul lui Krumel
    Krumel este deconectat Ambasador
    Reputatie:
    60
    Data înscrierii
    15th November 2004
    Locaţie
    Iasi
    Vârstă
    42
    Posturi
    6.261
    Putere Rep
    60


    Implicit

    rev
    Trimis: Mie 07 20, 2005 1:47 pm Titlul subiectului:
    Ne gandeam cu Razvan sa oferim pe SeoPedia feed-uri XML. Gratuit. Hehe.
    Voi vedeti cand a fost scris mesajul asta? Plus ca "Hehe" -ul de la sfarsit, are "miros" de gluma. Nu era in serios.

    danic, Seopedia inca asteapta oameni care sa trimita informatii. Iti dai seama ca ceea ce nu tine de SEO, nu isi are locul pe site.
    Krumel - apeleaza la serviciile oferite de mine prin formularul de pe blog.

Pagina 1 din 2 12 UltimulUltimul

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Thread-uri Similare

  1. Script pentru un site de anunturi auto
    De Seinfeld în forumul Server side
    Răspunsuri: 6
    Ultimul Post: 8th December 2009, 21:36
  2. Ce script poate fi folosit pentru un site ca acesta?
    De Nichita în forumul Continut web
    Răspunsuri: 2
    Ultimul Post: 13th April 2009, 10:03
  3. Script in PHP pentru aflare PR
    De Marius Cristian în forumul SEO Soft
    Răspunsuri: 15
    Ultimul Post: 7th April 2009, 16:06
  4. script-uri pentru director web
    De odiv în forumul Servicii web / Jobs
    Răspunsuri: 2
    Ultimul Post: 23rd September 2008, 14:07
  5. Script pentru un site de review-uri
    De thefan în forumul Utile
    Răspunsuri: 10
    Ultimul Post: 7th November 2007, 10:43

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •