- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Да мы как-то по-старинке всё. В базу загоняем, а там уже по свом шаблонам, без xsl-ей, слишком оно мудрено.
Попробовал поставить парсер.
В нем есть критическая ошибка в ссылке с партнерским ID!
Странно что никто не писал раньше. Никто его вообще не ставил что ли?
Спасибо, что заметили!
Исправил, в следующей версии 1.11 войдет в дистрибутив.
В XML не выводятся корректно некоторые подкатегории подкаталога, из-за чего парсер может не все выводить. Можно посоветовать использовать каталог конечной ветки, например, для детективов, ветки ID 1093883 можно вывести каталог конечного уровня «Зарубежный детектив». В парсере необходимо прописать такие строки:
$catalog = new OzonCatalog('audiobook_catalog/1093883');
'categoryId' => 1072682, // Зарубежные детективы
С другими ID каталога аналогично.
Ок, получилось!
Есть несколько вопросов
1. Как вывести http://www.ozon.ru/context/audiobook_new/
2. как бы раздел Аудиокниги структурировать по темам книг? Т.е фантастика и детективы, история - это отдельные разделы, а другие жанры: приключения, юмор, любовные романы, ужасы и т.п.
3. раздел "Цифровые аудиокниги" http://www.ozon.ru/context/eabook_catalog/ уже доступен в xml?
Для меня это очень актуально.
artbdk, цифровые товары для скачивания НЕ участвуют в Партнерской программе. По остальному постараемся чуть позже ответить.
Испытываю проблемы с получением xml файла. К примеру мне надо получить xml файл раздела "Туристические рюкзаки", в описании сказано, что формат должен быть http://www.ozon.ru/multimedia/yml/partner/имя_каталога.xml
Какое "имя каталога" мне подставлять?
Для 3 уровня раздела книги нужно подставить book_catalog/12351.xml, а для других разделов?
Пробую http://www.ozon.ru/multimedia/yml/partner/tourism/1095931.xml не дает.
Где можно узнать имя каталога для разных разделов?
Я заметил, что на странице товара Вы сделали кнопку "Партнерская ссылка на эту страницу" ну и добавьте к этой информации поле содержащие путь к xml каталогу раздела.
Помогите разобраться.
Есть парсер 1.15 от Стас Давыдов (http://stasdavydov.com/ozonru-parser/).
Установлен на Windows Server 2003, PHP 5.2.14.
Все тесты парсера на совместимость (bin\check.php) проходят удачно (все с +).
Однако, при попытке получить весь список (web\index.php) разделов выдается ошибка:
Fatal error: Uncaught exception 'OzonException' with message 'Cannot parse catalog links' in ПУТЬ\src\Ozon.php:49 Stack trace: #0 ПУТЬ\web\index.php(11): Ozon::getCatalogList(3) #1 {main} thrown in ПУТЬ\src\Ozon.php on line 49
Как я понял, это связано с разбиранием строки по regexp
if(preg_match_all('/<li><a href="\/context\/(?P<links>[^"]+)" title="(?P<title>[^"]+)">/',
$browser->content, $matches)) {
в файле src\Ozon.php (строка 43). То есть к нему прходит не верный $browser->content.
Если сделать
echo ($browser->content);
выводися абра-дабабра всякая. Причем это явно не CP1251 и не UTF-8. И, как следствие, regexp не может ничего найти...
Попробовал сам понять в чем дело, но возможно, не хватает знаний.
Помогите... как получить весь список ?
Заранее благодарен.
Помогите разобраться.
Есть парсер 1.15 от Стас Давыдов (http://stasdavydov.com/ozonru-parser/).
Установлен на Windows Server 2003, PHP 5.2.14.
...
Если сделать
echo ($browser->content);
выводися абра-дабабра всякая. Причем это явно не CP1251 и не UTF-8. И, как следствие, regexp не может ничего найти...
Попробовал сам понять в чем дело, но возможно, не хватает знаний.
Помогите... как получить весь список ?
Заранее благодарен.
Привет!
Чтобы все заработало, нужно указать кодировку:
$transformer->transform($catalog,
array('PAGENUM'=>$page, 'PARTNER'=>$PARTNER_ID, 'URL_PARAMS'=>'path='.urlencode($path),
'PATH'=>urlencode($path), 'encoding' => 'windows-1251'));
Внес исправление в файлы дистрибутива. Спасибо за информацию.
Чтобы все заработало, нужно указать кодировку:
$transformer->transform($catalog,
array('PAGENUM'=>$page, 'PARTNER'=>$PARTNER_ID, 'URL_PARAMS'=>'path='.urlencode($path),
'PATH'=>urlencode($path), 'encoding' => 'windows-1251'));
Возможно вы меня не верно поняли.
Если брать пример web/catalog.php, где для примера выводятся навигаторы - там все понятно. Там кодировка UTF-8.
Но интересует именно "Все каталоги Озон.ру", которые должны открываться на web/index.php.
Если я правильно понимаю, то логика такая:
Идем на сайт http://www.ozon.ru/
Получаем исходный код страницы
Разбираем его по regexp '/<li><a href="\/context\/(?P<links>[^"]+)" title="(?P<title>[^"]+)">/'
Получаем наименование и имя каталога первого уровня.
Далее идем по этим каталогам и получаем 2-ой уровень
Далее 3-й.
Так вот... Когда получаем исходный код для парсинга первого уровня, то он приходит (или где-то внутри обрабатывается) для regexp какой-то странный. Ни UTF-8, ни CP-1251.
А как понял $transformer->transform - работает именно с xml-файлами, которые забирает по указанному пути с сайта. То есть не относится к разбиранию исходного кода сайта для отображения списка каталогов.
Если я не прав - тогда подскажите, где необходимо изменить эту строчку.
Внес исправление в файлы дистрибутива. Спасибо за информацию.
Спасибо. Только вот вопросик... на странице http://stasdavydov.com/ozonru-parser/ лежит все таже версия 1.15. Причем сравнил файлы - они такие же, как и до внесения вами исправлений. Может я где-то не на той странице смотрю или вы выкладываете версии, когда накопится какое-то значимое количество исправлний?
Возможно вы меня не верно поняли.
Если брать пример web/catalog.php, где для примера выводятся навигаторы - там все понятно. Там кодировка UTF-8.
Но интересует именно "Все каталоги Озон.ру", которые должны открываться на web/index.php.
Если я правильно понимаю, то логика такая:
Идем на сайт http://www.ozon.ru/
Получаем исходный код страницы
Разбираем его по regexp '/<li><a href="\/context\/(?P<links>[^"]+)" title="(?P<title>[^"]+)">/'
Получаем наименование и имя каталога первого уровня.
Далее идем по этим каталогам и получаем 2-ой уровень
Далее 3-й.
Да, так и есть.
Так вот... Когда получаем исходный код для парсинга первого уровня, то он приходит (или где-то внутри обрабатывается) для regexp какой-то странный. Ни UTF-8, ни CP-1251.
Кодировка там большого значения не имеет, потому что парсер вытаскивает только ссылки и ID каталогов.
А как понял $transformer->transform - работает именно с xml-файлами, которые забирает по указанному пути с сайта. То есть не относится к разбиранию исходного кода сайта для отображения списка каталогов.
XML-каталоги скачиваются отдельно. Для отображения web/index.php они не используются. Там вообще нет ничего, кроме ссылок.
Вот, посмотрите: http://stasdavydov.com/ozonru-parser/test/web/index.php.
Спасибо. Только вот вопросик... на странице http://stasdavydov.com/ozonru-parser/ лежит все таже версия 1.15. Причем сравнил файлы - они такие же, как и до внесения вами исправлений. Может я где-то не на той странице смотрю или вы выкладываете версии, когда накопится какое-то значимое количество исправлний?
Новой версии не было.