Ребят возникла такая ситуация.
Нужно следующее:
Имеется страница создания "товара", нужно чтобы при создании, если имеется галочка на определенном пункте скрипт:
1)Переходил по адресу http:// sait.ru
2)Получив ответ от сайта, он брал кое-какую информацию со страниц сайта
3)Возвращал информацию пользователю, занеся в бд.
Проблема в этих 3 функциях. Подскажите в какую сторону копать, или подкиньте пример. буду благодарен!
1. skk - 05 Марта, 2012 - 09:12:12 - перейти к сообщению
2. Panoptik - 05 Марта, 2012 - 09:15:27 - перейти к сообщению
1) curl или file_get_contents
2) preg_match preg_match_all
3) тут уже просто работа с бд
(Добавление)
вот пример парсера. вытаскивает с сайта информацию о товарах(название, цена, описание) и картинки. всё это сохраняется в базу. скрипт вытащил 5Гб картинок и занес информацию в базу на 60Мб. всё это происходило в течении 3-х дней
2) preg_match preg_match_all
3) тут уже просто работа с бд
(Добавление)
вот пример парсера. вытаскивает с сайта информацию о товарах(название, цена, описание) и картинки. всё это сохраняется в базу. скрипт вытащил 5Гб картинок и занес информацию в базу на 60Мб. всё это происходило в течении 3-х дней
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- $last_id = mysql_fetch_row(mysql_query("SELECT `original_id` FROM `goods` ORDER BY `id` DESC LIMIT 1"));
- $last_db_id = $last_id[0];
- $last_file_id = $last_file[0];
- $start = 26719;
- $end = 40000;
- $link = "http://instore.kz/product_info.php/products_id/";
- $separator = "\n-----------------------------------------------------------------------\n\n";
- $file_header = $separator."Link: ".$link."\n\tStart: ".$start."\n\tEnd: ".$end."\n\n\tDate: ".date('Y-m-d H:i:s')."\n\n";
- for($i=$start;$i<$end;$i++) {
- if($matches) {
- print "<div>";
- print $i.". \t";
- print "Товар не найден!";
- print $data;
- print "</div>";
- } else {
- //id парсинга
- $id = $i;
- $arr_good['id'] = $i;
- //наименование
- //цена
- $price = $match[1];
- } else {
- $price = 'нет цены';
- }
- $arr_good['price'] = $price;
- //ссылка на товар
- $arr_good['linkgoods'] = $link.$i;
- //описание
- $arr_good['description'] = trim(htmlspecialchars(preg_replace('/<div[\w\W]+<\/div>/','',$match[1]),ENT_QUOTES));
- //изображение
- $image_link = "http://images.instore.kz/popup_image.php/pID/".$id;
- //print $content;
- $image_url = "http://images.instore.kz/".$match[1];
- $save_path = "./images/".$save_image_name;
- $q = 0;
- $match = false;
- //дополнительные картинки если есть
- do {
- if($match) {
- $image_url = "http://images.instore.kz/".$match[1];
- $save_path = "./images/".$save_image_name;
- }
- }
- }
- mysql_query('INSERT INTO `goods` (`original_id`,`donnor`,`name`,`link`,`date`,`description`,`price`)
- VALUES("'.$arr_good['id'].'","1","'.$arr_good['name'].'","'.$arr_good['linkgoods'].'",NOW(),"'.$arr_good['description'].'","'.$arr_good['price'].'")') or die('Error add good');
- foreach($arr_images as $image) {
- }
- print "<div style='color: green'>";
- echo "Товар ".$id." успешно добавлен";
- print "</div>";
- }
- }