Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- ini_set("max_execution_time", 0);
- $id = 50322;
- # здесь нужно организовать цикл для перебора всех товаров
- parse ($id);
- function parse ($id)
- {
- $file = file_get_contents("http://parfum-collection.ru/product/{$id}.html");
- $data = array();
- if ($file)
- {
- preg_match("|<!-- Товар /-->(.*)<!-- Характеристики товара #END /-->|is", $file, $trunc);
- # если это товар, значит в $trunc[1] будет какой то контент, если же такой страницы не существует, значит такого товара нет
- if (isset ($trunc[1]))
- {
- # name
- preg_match("|<h1>(.*)</h1>|Uis", $trunc[1], $temp);
- $name = (isset($temp[1])) ? trim($temp[1]) : '';
- $data['name'] = $name;
- # path
- $path = array();
- preg_match("|<div id=\"path\">(.*)</div>|Uis", $trunc[1], $temp);
- if (isset($temp[1]))
- {
- $d = explode ('→', $temp[1]);
- unset ($d[sizeof($d)-1]);
- unset ($d[0]);
- foreach ($d as $key => $val)
- {
- preg_match("|<a href=\"(.*)\">(.*)</a>|Uis", $val, $temp);
- if (isset($temp[1]))
- {
- $path[$key]['url'] = $temp[1];
- $path[$key]['path'] = $temp[2];
- }
- }
- }
- $data['path'] = $path;
- #img
- $img = array();
- preg_match_all("|attr\(\'src\', \'(.*)\'|Uis", $trunc[1], $temp);
- if (isset ($temp[1]))
- {
- foreach ($temp[1] as $key => $val)
- {
- $img[$key]['url'] = $val;
- }
- }
- # здесь можно добавить обработчик для сохранения всех картинок
- $data['img'] = $img;
- # price
- $price = array();
- preg_match("|<!-- Варианты товара /-->(.*)<!-- Варианты товара #END /-->|is", $trunc[1], $prices);
- preg_match_all("|<option value=\"(\d+)\">(.*)</option>|Uis", $prices[1], $temp);
- if (isset ($temp[1]))
- {
- foreach ($temp[1] as $key => $val)
- {
- $price[$val]['text'] = trim ($temp[2][$key]);
- }
- }
- preg_match_all("|variants_prices\[(\d+)\] = \'(.*)\'|Uis", $prices[1], $temp);
- if (isset ($temp[1]))
- {
- foreach ($temp[1] as $key => $val)
- {
- $price[$val]['cost'] = trim ($temp[2][$key]);
- }
- }
- $data['price'] = $price;
- # text
- preg_match("|</form>(.*)<!-- Характеристики товара /-->|is", $trunc[1], $temp);
- preg_match("|<p>(.*)</p>|is", $temp[1], $temp);
- $text = (isset($temp[1])) ? trim($temp[1]) : '';
- $data['text'] = $text;
- # params
- $params = array();
- preg_match_all("|<tr>(.*)</tr>|Uis", $trunc[1], $temp);
- if (isset ($temp[1]))
- {
- foreach ($temp[1] as $key => $val)
- {
- preg_match_all("|<td>(.*)</td>|Uis", $val, $td);
- if (isset ($td[1]))
- {
- $params[$key]['text'] = trim($td[1][0]);
- $params[$key]['values'] = explode (', ', trim($td[1][1]));
- foreach ($params[$key]['values'] AS $k => &$v)
- {
- $v = trim ($v);
- }
- }
- }
- }
- $data['params'] = $params;
- }
- }
- else
- {
- # ошибка получения страницы.
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement