Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Парсер характеристик товаров не с Яндекса, а, например, с 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/

Ссылка на сообщение
Поделиться на другие сайты

может будет проще адаптировать яшу?

в общем как то этот вопрос нужно решить, или сделать что-то с яндексом, или сменить источник, если кто-то делал, поделитесь.

Ссылка на сообщение
Поделиться на другие сайты

<?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;
}
Ссылка на сообщение
Поделиться на другие сайты

1 версия симплы?

2 были ли изменения в товаре?

3 характеристики получаются при условии совпадения названия товара с яшей

Ссылка на сообщение
Поделиться на другие сайты

1 версия симплы?

2 были ли изменения в товаре?

3 характеристики получаются при условии совпадения названия товара с яшей

Давно перестал работать парсер, еще с 2.1.5, на 2.2 ничего не изменилось. Это не только у меня, у многих не работает. Все совпадает.

 

Тема с баном IP адреса или домена не прокатывает. Тестировали на новых IP и доменах, тоже не работает.

Ссылка на сообщение
Поделиться на другие сайты

У меня характеристики заполняются.

Например, на название товара LG 3000 или LG 2000. 

Версия 2.2.4.

 

На демо-сайте работает.

 

Если у Вас не идет, надо все детали проверять. Может быть, в частности, и из-за хостинга (например curl отключен).

Есть curl и работает. Может какие то еще расширения требуются, подскажите ?

 

Ссылка на сообщение
Поделиться на другие сайты

Я ему скинул вариант с анонимайзером.... дело в хосте. Яша блочил как робота

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

Я ему скинул вариант с анонимайзером.... дело в хосте. Яша блочил как робота

Скиньте и здесь пожалуйста, та же проблема. Интересно что картинки парсит, а характеристики нет. 

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

UP, ребята проблема актуальна на сегодняшний день, парсит не все параметры, а некоторые даже и неправильно, на демо такая же ситуация, кто столкнулся с этим?

 

..... проблема решена.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 месяца спустя...

Ну "решена" это хорошо, а где решение?

Почитать новые темы форума ну так же лень наверное.

Вот тут подробно написано как обновить парсер без обновления всей системы http://forum.simplacms.ru/topic/7849-новая-simpla-236-от-14-июля-2014-новый-парсер-товаров/

Ссылка на сообщение
Поделиться на другие сайты

Не, мне обновлять не надо, проблема в другом. После нескольких запросов яндекс начинает запрашивать капчу, Я уже подставил список из нескольких прокси, но хватает не надолго. Вот думаю как обойти это, вижу два пути. 

1. попробовать тянуть через АПИ маркета, если позволит.

2. перехватить страницу с капчей и запостить ее курлом назад

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...