Ledger Nano X - The secure hardware wallet
SHARE
TWEET

Untitled

a guest Apr 6th, 2011 1,571 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. ini_set("max_execution_time", 0);
  3.  
  4. $id = 50322;
  5. # здесь нужно организовать цикл для перебора всех товаров
  6. parse ($id);
  7.  
  8. function parse ($id)
  9. {
  10.         $file = file_get_contents("http://parfum-collection.ru/product/{$id}.html");
  11.         $data = array();
  12.         if ($file)
  13.         {
  14.                 preg_match("|<!-- Товар  /-->(.*)<!-- Характеристики товара #END /-->|is", $file, $trunc);
  15.                
  16.                 # если это товар, значит в $trunc[1] будет какой то контент, если же такой страницы не существует, значит такого товара нет
  17.                 if (isset ($trunc[1]))
  18.                 {
  19.                        
  20.                         # name
  21.                         preg_match("|<h1>(.*)</h1>|Uis", $trunc[1], $temp);
  22.                         $name = (isset($temp[1])) ? trim($temp[1]) : '';
  23.                         $data['name'] = $name;
  24.                        
  25.                         # path
  26.                         $path = array();
  27.                         preg_match("|<div id=\"path\">(.*)</div>|Uis", $trunc[1], $temp);
  28.                         if (isset($temp[1]))
  29.                         {
  30.                                 $d = explode ('→', $temp[1]);
  31.                                 unset ($d[sizeof($d)-1]);
  32.                                 unset ($d[0]);
  33.                                
  34.                                 foreach ($d as $key => $val)
  35.                                 {
  36.                                         preg_match("|<a href=\"(.*)\">(.*)</a>|Uis", $val, $temp);
  37.                                         if (isset($temp[1]))
  38.                                         {
  39.                                                 $path[$key]['url'] = $temp[1];
  40.                                                 $path[$key]['path'] = $temp[2];
  41.                                         }
  42.                                        
  43.                                 }
  44.                         }
  45.                         $data['path'] = $path;
  46.                        
  47.                        
  48.                         #img
  49.                         $img = array();
  50.                         preg_match_all("|attr\(\'src\', \'(.*)\'|Uis", $trunc[1], $temp);
  51.                         if (isset ($temp[1]))
  52.                         {
  53.                                 foreach ($temp[1] as $key => $val)
  54.                                 {
  55.                                         $img[$key]['url'] = $val;
  56.                                 }
  57.                         }
  58.                         # здесь можно добавить обработчик для сохранения всех картинок
  59.                         $data['img'] = $img;
  60.                        
  61.                         # price
  62.                         $price = array();
  63.                         preg_match("|<!-- Варианты товара /-->(.*)<!-- Варианты товара #END /-->|is", $trunc[1], $prices);
  64.                        
  65.                        
  66.                         preg_match_all("|<option value=\"(\d+)\">(.*)</option>|Uis", $prices[1], $temp);
  67.                         if (isset ($temp[1]))
  68.                         {
  69.                                 foreach ($temp[1] as $key => $val)
  70.                                 {
  71.                                         $price[$val]['text'] = trim ($temp[2][$key]);
  72.                                 }
  73.                         }
  74.                         preg_match_all("|variants_prices\[(\d+)\] = \'(.*)\'|Uis", $prices[1], $temp);
  75.                         if (isset ($temp[1]))
  76.                         {
  77.                                 foreach ($temp[1] as $key => $val)
  78.                                 {
  79.                                         $price[$val]['cost'] = trim ($temp[2][$key]);
  80.                                 }
  81.                         }      
  82.                         $data['price'] = $price;
  83.                        
  84.                         # text
  85.                         preg_match("|</form>(.*)<!-- Характеристики товара /-->|is", $trunc[1], $temp);    
  86.                         preg_match("|<p>(.*)</p>|is", $temp[1], $temp);
  87.                         $text = (isset($temp[1])) ? trim($temp[1]) : '';
  88.                         $data['text'] = $text;
  89.                        
  90.                         # params
  91.                         $params = array();
  92.                         preg_match_all("|<tr>(.*)</tr>|Uis", $trunc[1], $temp);
  93.                         if (isset ($temp[1]))
  94.                         {
  95.                                 foreach ($temp[1] as $key => $val)
  96.                                 {
  97.                                         preg_match_all("|<td>(.*)</td>|Uis", $val, $td);
  98.                                         if (isset ($td[1]))
  99.                                         {
  100.                                                 $params[$key]['text'] = trim($td[1][0]);
  101.                                                 $params[$key]['values'] = explode (',&nbsp;', trim($td[1][1]));
  102.                                                
  103.                                                 foreach ($params[$key]['values'] AS $k => &$v)
  104.                                                 {
  105.                                                         $v = trim ($v);
  106.                                                 }
  107.                                                
  108.                                         }
  109.                                 }
  110.                         }
  111.                         $data['params'] = $params;
  112.                 }
  113.         }
  114.         else
  115.         {
  116.                 # ошибка получения страницы.
  117.         }
  118. }      
  119. ?>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top