Pacifik Posted November 24, 2013 Report Share Posted November 24, 2013 Парсер характеристик товаров не с Яндекса, а, например, с Mail ru делал кто-нибудь?Характеристики вообще перестали париться с Яндекса, прикрывают они лавочку под API Вот тут лежат характеристики, как сделать парсер с майл кто делал?http://hi-tech.mail.ru/catalog/samsung/samsung_galaxy_mega_6_3_16gb_14081937/ Так же на торг майл есть http://torg.mail.ru/mobilephones/samsung-galaxy-s-4-16gb-id13894410/ Quote Link to post Share on other sites
Виталий Анатольевич Posted November 24, 2013 Report Share Posted November 24, 2013 может будет проще адаптировать яшу? Quote Link to post Share on other sites
Pacifik Posted November 24, 2013 Author Report Share Posted November 24, 2013 может будет проще адаптировать яшу?в общем как то этот вопрос нужно решить, или сделать что-то с яндексом, или сменить источник, если кто-то делал, поделитесь. Quote Link to post Share on other sites
Виталий Анатольевич Posted November 24, 2013 Report Share Posted November 24, 2013 <?php $use_curl = true; // Использовать CURL // Ключевое слово для поиска $keyword = $_GET['keyword']; $keyword = str_replace(' ', '+', $keyword); // Адрес страницы с результатами поиска $url = "http://market.yandex.ru/search.xml?text=$keyword&nopreciser=1"; // Выбираем результаты поиска $page = get_page($url); // Находим ссылку на описание товара if(preg_match_all('/<h3 class="b-offers__title"><a href="(.*?)" class="b-offers__name">/ui', $page, $matches)) $product_url = 'http://market.yandex.ru'.reset($matches[1]); else return false; $page = get_page($product_url); if(preg_match_all('/<ul class="b-vlist b-vlist_type_mdash b-vlist_type_friendly">(.*?)<\/ul>/ui', $page, $matches)) { // Описание товара $description = '<ul>'.reset($matches[1]).'</ul>'; $result->description = $description; // Страница характеристик if(preg_match_all('/<p class="b-model-friendly__title"><a href="(.*?)">все характеристики<\/a><\/p>/ui', $page, $matches)) { $options_url = 'http://market.yandex.ru'.reset($matches[1]); $options_page = get_page($options_url); preg_match_all('/<th class="b-properties__label b-properties__label-title"><span>(.*?)<\/span><\/th><td class="b-properties__value">(.*?)<\/td>/ui', $options_page, $matches, PREG_SET_ORDER); $options = array(); foreach($matches as $m) { $option = null; $option->name = $m[1]; $option->value = $m[2]; $options[] = $option; } $result->options = $options; } else return false; } else return false; header("Content-type: application/json; charset=UTF-8"); header("Cache-Control: must-revalidate"); header("Pragma: no-cache"); header("Expires: -1"); print(json_encode($result)); function get_page($url, $use_curl=true) { if($use_curl && function_exists('curl_init')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_REFERER, 'http://google.com'); curl_setopt($ch, CURLOPT_USERAGENT, "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51"); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Для использования прокси используйте строки: //curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); //curl_setopt($ch, CURLOPT_PROXY, '88.85.108.16:8080'); //curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password'); // Яндекс может нас отправить в редирект, так что нужно следовать за редиректом do{ curl_setopt($ch, CURLOPT_URL, $url); $header = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if($code == 301 || $code == 302) { preg_match('/Location:(.*?)\n/', $header, $matches); $url = trim(array_pop($matches)); } else $code = 0; }while($code); $page = curl_exec($ch); curl_close($ch); } else { $page = file_get_contents($url); } return $page; } Quote Link to post Share on other sites
Pacifik Posted November 25, 2013 Author Report Share Posted November 25, 2013 код стандартного файла зачем мне? Запустил Результат Quote Link to post Share on other sites
Виталий Анатольевич Posted November 25, 2013 Report Share Posted November 25, 2013 1 версия симплы?2 были ли изменения в товаре?3 характеристики получаются при условии совпадения названия товара с яшей Quote Link to post Share on other sites
Pacifik Posted November 25, 2013 Author Report Share Posted November 25, 2013 1 версия симплы?2 были ли изменения в товаре?3 характеристики получаются при условии совпадения названия товара с яшейДавно перестал работать парсер, еще с 2.1.5, на 2.2 ничего не изменилось. Это не только у меня, у многих не работает. Все совпадает. Тема с баном IP адреса или домена не прокатывает. Тестировали на новых IP и доменах, тоже не работает. Quote Link to post Share on other sites
Виталий Анатольевич Posted November 25, 2013 Report Share Posted November 25, 2013 Я на 2.2.4 тестил - работает...посмотрите на демо - тоже работает Quote Link to post Share on other sites
Pacifik Posted November 25, 2013 Author Report Share Posted November 25, 2013 У меня характеристики заполняются.Например, на название товара LG 3000 или LG 2000. Версия 2.2.4. На демо-сайте работает. Если у Вас не идет, надо все детали проверять. Может быть, в частности, и из-за хостинга (например curl отключен).Есть curl и работает. Может какие то еще расширения требуются, подскажите ? Quote Link to post Share on other sites
Виталий Анатольевич Posted November 25, 2013 Report Share Posted November 25, 2013 доступы в студию. Самому интересно стало Quote Link to post Share on other sites
Pacifik Posted November 25, 2013 Author Report Share Posted November 25, 2013 доступы в студию. Самому интересно сталоСпасибо, добрый человек, помог! Quote Link to post Share on other sites
Danya Posted November 26, 2013 Report Share Posted November 26, 2013 в чем дело-то было? Quote Link to post Share on other sites
Виталий Анатольевич Posted November 27, 2013 Report Share Posted November 27, 2013 Я ему скинул вариант с анонимайзером.... дело в хосте. Яша блочил как робота Quote Link to post Share on other sites
kib Posted February 3, 2014 Report Share Posted February 3, 2014 Я ему скинул вариант с анонимайзером.... дело в хосте. Яша блочил как роботаСкиньте и здесь пожалуйста, та же проблема. Интересно что картинки парсит, а характеристики нет. Quote Link to post Share on other sites
Виталий Анатольевич Posted February 5, 2014 Report Share Posted February 5, 2014 http://bit.ly/1auHisw Quote Link to post Share on other sites
imoto Posted April 14, 2014 Report Share Posted April 14, 2014 UP, ребята проблема актуальна на сегодняшний день, парсит не все параметры, а некоторые даже и неправильно, на демо такая же ситуация, кто столкнулся с этим? ..... проблема решена. Quote Link to post Share on other sites
lazareff Posted July 16, 2014 Report Share Posted July 16, 2014 Ну "решена" это хорошо, а где решение? Quote Link to post Share on other sites
Noxter Posted July 16, 2014 Report Share Posted July 16, 2014 Ну "решена" это хорошо, а где решение?Почитать новые темы форума ну так же лень наверное. Вот тут подробно написано как обновить парсер без обновления всей системы http://forum.simplacms.ru/topic/7849-новая-simpla-236-от-14-июля-2014-новый-парсер-товаров/ Quote Link to post Share on other sites
lazareff Posted July 17, 2014 Report Share Posted July 17, 2014 Не, мне обновлять не надо, проблема в другом. После нескольких запросов яндекс начинает запрашивать капчу, Я уже подставил список из нескольких прокси, но хватает не надолго. Вот думаю как обойти это, вижу два пути. 1. попробовать тянуть через АПИ маркета, если позволит.2. перехватить страницу с капчей и запостить ее курлом назад Quote Link to post Share on other sites
lazareff Posted July 17, 2014 Report Share Posted July 17, 2014 Хотя да, я извиняюсь что написал в эту тему, создам наверное новую Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.