[Помогите] ParseMx

Тема в разделе "OpenCart", создана пользователем collester12, 27 мар 2015.

  1. collester12

    collester12

    Регистрация:
    20 фев 2015
    Сообщения:
    56
    Симпатии:
    1
    Здравствуйте уважаемые форумчане
    Не могу добавить донора . Заполняю все как по видио все так же только у меня при проверке товара нет изображения и описания и выдает вот эту ошибки

    Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /home/p296431/public_html/parsemx/platform.php on line 1240

    Warning: array_unique() expects parameter 1 to be array, null given in /home/p296431/public_html/parsemx/platform.php on line 1245

    Warning: Invalid argument supplied for foreach() in /home/p296431/public_html/parsemx/platform.php on line 1246
     
  2. collester12

    collester12

    Регистрация:
    20 фев 2015
    Сообщения:
    56
    Симпатии:
    1
    Вроде с этим разобрался эти ошибки были из-за дополнительных изображений

    Есть так же еще несколько вопросов
    Использую ParseMX 1.24a, и интересует следующие
    Как замазывать водянные знаки в описание написано что он это может
    И может у кого есть настроенный код для tinydeal.com
    Сам использую вот такой
    Код:
    //AUTO LIST START - сгенерировано автоматически
    products = tags_href "#productListing .p_box_title"
    nextpage = tag_href ":nth-child(60) .nextPage"
    
    [Product]
    //AUTO START - написано мной
    name = tag_text "h1"
    price = tag_text "#productPrices .f1"
    description = tag_html "#tabs-1"
    model = tag_text "productDetailsList strong"
    manufacturer = inside "(", ")"
    main_image = tag_image "#product_flash_show_i"
    images = insides "b=""", """"
    attr_names = tags_text ".ui-table td"
    attributes["Характеристики"] = attr_names
    if (!price and !empty(noprice)) skip - true
    //AUTO END
    
    
    
    
    [PASS]
    /* Опции прописаные Мастером Инструкций */
    /**<h2 style='font-weight:normal'>Настройки парсинга</h2>**/
    global description_images, site_language, noprice, update_price, update_name, update_description, update_images, update_attributes, update_options
    description_images = false // Загружать изображения из описания (Изображения из описания будут загружены к вам на сервер)
    site_language = "" // Язык сайта для перевода (Для автоматического перевода установите язык сайта<br/><b>Например:</b> EN - английский, RU - русский)
    noprice = false // Пропускать товары без цены
    update_price = true // Обновлять цену
    update_description = false // Обновлять название и описание
    update_images = false // Обновлять изображения
    update_attributes = true // Обновлять характеристики
    update_options = true // Обновлять опции
    При таком коде вроде парситься все нормально , но не отображается изображение , может эта версия парсера глюченная или еще что то посоветуйте кто уже встречался с этим
     
  3. Vivec

    Vivec

    Регистрация:
    24 ноя 2014
    Сообщения:
    105
    Симпатии:
    15
    если речь о той "зануленой" версии, что пошла гулять в тырнете, то да - она глючная
     
  4. collester12

    collester12

    Регистрация:
    20 фев 2015
    Сообщения:
    56
    Симпатии:
    1
    Последнее редактирование: 28 мар 2015
    Stealth421 нравится это.
  5. cherkas

    cherkas

    Регистрация:
    25 фев 2013
    Сообщения:
    336
    Симпатии:
    44
    как это интересно Вы взяли его от туда, и я так хочу :Smile: там 300 сообщений хайд требует.
     
  6. collester12

    collester12

    Регистрация:
    20 фев 2015
    Сообщения:
    56
    Симпатии:
    1
    когда его выложили хайд был 30 сообщений а не 300 и я успел скачать
     
  7. Сентинел

    Сентинел

    Регистрация:
    5 мар 2013
    Сообщения:
    239
    Симпатии:
    121
    Инструкцию на быструю руку, которая тебе нужна для tinydeal.com, я тебе сбросил

    ВСЕ ВОПРОСЫ ПО ПОВОДУ ОШИБОК К ЗЕРКАЛУ!

     
    Последнее редактирование: 2 апр 2015
  8. Fiable

    Fiable

    Регистрация:
    16 авг 2014
    Сообщения:
    171
    Симпатии:
    107
    Ребят, а может кто поделится для тестирования, а то 300смс, это очень много((( Спасибо добрым людям
     
  9. collester12

    collester12

    Регистрация:
    20 фев 2015
    Сообщения:
    56
    Симпатии:
    1
    Ребят использую готовую инструкцию для aliexpress
    Вроде все парсится норм но в конце выдает ошибку

    Script ru.aliexpress.com_product.php end.
    No name, skipping product.
    WARNING: No products created!

    использую вот такой код
    Код:
    [LIST]
    products = tags_href ".history-item"
    nextpage = tag_href ".page-next"
    
    [PRODUCT]
    //AUTO START - сгенерировано автоматически
    name = tag_text "h1"
    find_manufacturer
    price = tag_text "[itemprop=price]"
    description = tag_html "#pdt"
    main_image = tag_image "#magnifier"
    images = tags_image "[itemprop=image]"
    if (!price and !empty(noprice)) skip = true
    //AUTO END
    name = tag_text "#product-name"
    
    // Делаем из названия строку только из букв в нижнем регистре, укорачиваем слово "минимальный"
    xname = name -> utf8_strtolower -> replace "мин* ", "мин" -> rreplace "[^а-я^a-z^0-1]", "", "iu"
    
    // Простое условие
    if (find( "покрайнеймере", xname)) skip = true
    
    // Сложное условие
    if ( find( "минзаказ", xname) and !find( "нетмин", xname)  and !find( "минзаказсоставляет0", xname) ) skip = true
    
    
    shop = tag_text ".company-name a"
    first = shop -> replace "(*)" -> trim -> if_inside "", " "
    
    price = tag_text "#sku-discount-price" -> currency
    if (!price)
        price = tag_text "#sku-price" -> currency
       
    model = url -> inside "aliexpress.com/", ".html" -> if_inside "/"  -> if_inside "/"  -> if_inside "/"  -> if_inside "/"
    sku = model
    //model = GetLastId "product"
    //model++
    
    description = inside "Описание</h5>", "<div id=""feedback" -> replace  "src=""""" -> replace " data-src=", " src=" -> replace "<a*/a>"
    
    description = false
    
    images = tags_attr ".image-nav-item img", "src"
    for (images)
          image => replace "_50x50.jpg"
    if (!images) {
        main_image = inside "var MAIN_BIG_PIC='","'"
        if (!main_image)
            main_image = tag_image ".image-item"
    }
    
    opts_names = pinsides "sku-title"">", ":"
    opts_values = pinsides ")""><span>", "</span>"
    //for (opts_values)
    //    if (is_numeric(opts_value[0])) opts_value[0].=" "
    
    opts_prices = insides "kuPrice"":""",""""
    if (!opts_prices)
        opts_prices = insides "actSkuBulkPrice"":""",""""
    if (!opts_prices)
        opts_prices = insides "skuBulkPrice"":""",""""
    if (!opts_prices)
        opts_prices = insides "actSkuPrice"":""",""""
    
    if (opts_prices) {
        for (opts_prices) 
            opts_price => currency
        min = opts_prices -> min
        for (opts_prices)  opts_price -= min
        for (opts_prices)  {
            if (i==count(opts_values)) break
            a[0] = opts_price
            a[1] = opts_values[i][1]
            opts_price = a
        }
        price = min
        //opts_values => shred_arrays opts_prices
    }
    
    options = pgroup opts_names, opts_values, opts_prices
    
    color_names = tags_attr "#sku-color a", "title"
    color_pics = tags_attr "#sku-color img", "bigpic"
    cname = "Цвет_select"
    if (options) opts_prices = false
    if (color_pics) cname = "Цвет ".sku."_image"
    if (color_names) {
        if (opts_prices)
            options[cname] = shred_arrays color_names, opts_prices, color_pics
        else {
            options[cname] = shred_arrays color_names, color_pics
        }
    }
    
    attr_names = tags_text ".params dt" -> replace
    attr_values = tags_text ".params dd" -> replace
    for (attr_names)
    if (attr_name==":") {
         unset attr_names[i]
         unset attr_values[i]
    }
    
    ahtml = "<table>"
    for (attr_names)
        ahtml .= "<tr><td>%attr_name</td><td>" . attr_values[i] . "</td></tr>"
    ahtml .= "</table>"
    description = ahtml . description
    
    //attributes["Характеристики"] = shred_arrays attr_names, attr_values
    
    
    // Shipping cost retrieval
    //xshipping = "http://www.aliexpress.com/cross-domain/freight/index.html?f=d&productid=%model&country=UA&count=1&userType=cnfm&rnd=1361814967547" -> get -> insides "<price>","</price>" -> min -> currency
    //price+=xshipping
    
    // Description shortening
    while (strlen(description)>60000) {
    s = description -> strrpos "<p"
    e = description -> strrpos "</p>"
    if (e<=s) break
    description = substr(description,0,s) . substr(description,e+4)
    }
    
    description => close_tags
    
    [PASS]
    /* Опции прописаные Мастером Инструкций */
    /**<h2 style='font-weight:normal'>Настройки парсинга</h2>**/
    global description_images, site_language, noprice, update_price, update_name, update_description, update_images, update_attributes, update_options, add_out
    description_images = true // Загружать изображения из описания (Изображения из описания будут загружены к вам на сервер)
    site_language = "" // Язык сайта для перевода (Для автоматического перевода установите язык сайта<br/><b>Например:</b> EN - английский, RU - русский)
    noprice = true // Пропускать товары без цены
    update_price = true // Обновлять цену
    update_description = true // Обновлять название и описание
    update_images = true // Обновлять изображения
    update_attributes = true // Обновлять характеристики
    update_options = true // Обновлять опции
    
     
  10. Сентинел

    Сентинел

    Регистрация:
    5 мар 2013
    Сообщения:
    239
    Симпатии:
    121
    А где ты взял эту инструкцию?
     
    collester12 нравится это.
  11. Vivec

    Vivec

    Регистрация:
    24 ноя 2014
    Сообщения:
    105
    Симпатии:
    15
    Решил повозить на локалке, поставил, но сколько не заглядывал, пишет:

    на локалке таки не работает?
     
  12. collester12

    collester12

    Регистрация:
    20 фев 2015
    Сообщения:
    56
    Симпатии:
    1
    на сторонем ресурсе
    написано было для aliexpress , возякуюсь весь вечер может поможешь чтоб норм все было
     
  13. Сентинел

    Сентинел

    Регистрация:
    5 мар 2013
    Сообщения:
    239
    Симпатии:
    121
    Посмотрю на днях. Ничего обещать не могу.
     
    Последнее редактирование: 2 апр 2015
  14. collester12

    collester12

    Регистрация:
    20 фев 2015
    Сообщения:
    56
    Симпатии:
    1
    все код под aliexpress рабочий стало рабоать

    name = tag_text "#product-name" закройте вот этот текст
    только проблема с описанием оно не отображается если кто смог настроить описание поделитесь буду благодарен
     
  15. Vivec

    Vivec

    Регистрация:
    24 ноя 2014
    Сообщения:
    105
    Симпатии:
    15
    Подскажите пожалуйста. Донор показывает цены только если залогиниться. У ParsMX такой функции похоже нету. Хотя на параллельной вкладке залогинено. Как быть?
    Upd... Нашел, такие вопросы нужно задавать автору, который индиdидуально для донора прописывает доп. код в скрипт
     
    Последнее редактирование: 2 апр 2015
  16. Сентинел

    Сентинел

    Регистрация:
    5 мар 2013
    Сообщения:
    239
    Симпатии:
    121
    Если есть определенная техническая база, то в авторизации нет ничего сложного. В секции [PASS] надо прописать 3 переменные:
    • login_check - строка, найдя которую в тексте страницы, парсер поймет, что он неавторизирован
    • login_url - адрес, куда отправлять POST-запрос авторизации
    • login_data - данные POST-запроса
    [PASS]
    login_check ="<a>Авторизироваться"
    login_url ="http://mysite.com/login.php"
    login_data ="user=[email protected]com&password=1235&Remember=1"
     
    Последнее редактирование: 2 апр 2015
    Vivec нравится это.
  17. Vivec

    Vivec

    Регистрация:
    24 ноя 2014
    Сообщения:
    105
    Симпатии:
    15
    На новом дыхании сделал попытку с авторизацией. При проверке логиниться не хочет, выдаёт ошибку:
    Код:
     *** ParseMX demon started
    Fetching http://www.сайт.com/страница/товар.html...
    [ Fetch Result ]
    Not logged in detected at сайт.com. Authorizing...
    Fetching http://сайт.com/users/sign_in...
    Converting from encoding: iso-8859-1
    [ Fetch Result ]
    Authorization failed!
    Сентинел, не подскажете, где попробовать копнуть?
     
  18. Laimis

    Laimis

    Регистрация:
    22 апр 2015
    Сообщения:
    6
    Симпатии:
    1
    А у Вас север стоит на php5 ? а скрипт похожe что на еше на php4 написан, глянте дату скирпта... он наверное старый.... поэтому там при переходе на 5 были ошибки с array и foreach...
     
  19. Vivec

    Vivec

    Регистрация:
    24 ноя 2014
    Сообщения:
    105
    Симпатии:
    15
    да, сервер на PHP 5.4
    имеете опыт перешения этой проблемы?
     
  20. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.051
    Симпатии:
    778
    Когда появился ОпенКарт php4 уже давно не использовался (php5 вышел в 2004, первая стабильная версия ОК - в 2009). Сам ОпенКарт изначально требовал минимум 5.0, последние несколько лет он требует минимум 5.2.
    Кроме того, этот модуль появился в 2012 году, так что даже без учёта ОпенКарта было бы странным извращением писать его под php4.
    Ошибки из первого поста были вызваны тем, что что-то не спарсилось и вместо массива был null, который нельзя дальше никуда подставить для обработки.