|   |   | 
| 
 | как получить цены с сайта? | ☑ | ||
|---|---|---|---|---|
| 0
    
        ZSSSP 16.10.17✎ 13:23 | 
        Есть пример кода но из ответа с сайта не могу вытащить цены 
 WinHttp = Новый COMОбъект("MSXML2.XMLHTTP.6.0"); WinHttp.Open("GET", "http://www.autopiter.ru/goods/wht005437", 0); WinHttp.Send(); ТекстОтвета = WinHttp.ResponseText(); Подскажите что нужно сделать чтобы добраться до цен? | |||
| 1
    
        vde69 16.10.17✎ 13:25 | 
        цены чего?
 покажи как ты добираешся до номенклатуры и я подскажу как добратся до цен | |||
| 2
    
        ZSSSP 16.10.17✎ 13:37 | 
        Обхожу текстответа циклом, но дело в том что даже в тексте ответа нет цен. Как их получить?     | |||
| 3
    
        Лефмихалыч 16.10.17✎ 13:49 | 
        А цен там и правда нет. Они, видимо, каким-то js-ом подтягиваются в DOM после загрузки страницы. Как раз против таких хитрожопых, типа ТС, которые на халяву каталог хотят уравть:
 https://i.imgur.com/hS7V52T.png | |||
| 4
    
        rasta 16.10.17✎ 13:50 | 
        1) по WinHttp.Open("GET", "http://www.autopiter.ru/goods/wht005437",, 0)
 получаегь список товаров и та есть ссылка на товар : href="/goods/wht005437/vag/id38733338 2) по WinHttp.Open("GET", "http://www.autopiter.ru/goods/wht005437/vag/id38733338",, 0); получаешь карточку товара, там уже есть <div class="upi-price"> <span>173,28</span> </div> наверно как-то так ) | |||
| 5
    
        ZSSSP 16.10.17✎ 14:24 | 
        только через ссылку можно достать цену? а саму ссылку получать при помощи перебора строк?     | |||
| 6
    
        ttk 16.10.17✎ 14:29 | ||||
| 7
    
        Юрий Лазаренко 16.10.17✎ 14:51 | 
        (0) Открывать из 1С IE через OLE, программно открывать в нем нужную страницу, дожидаться загрузки, получать DOM и перебирать его. Медленно и ресурсоемко.     | |||
| 8
    
        rasta 16.10.17✎ 14:55 | 
        (6) а как нашел эту страничку если не секрет. на главной и в хелпе ничего такого не увидел (     | |||
| 9
    
        ttk 16.10.17✎ 14:59 | 
        (8)
 Загружал от них что то, если залогиниться, то там где то будет в интерфейсе | |||
| 10
    
        ZSSSP 16.10.17✎ 15:06 | 
        http://service.autopiter.ru/price.asmx  как можно это использовать в 1с ?пока не понимаю     | |||
| 11
    
        asady 16.10.17✎ 15:08 | 
        (10) там же написано
 формируй post запрос там в примерах приведены тексты пост запросов и ответы на них | |||
| 12
    
        ZSSSP 16.10.17✎ 15:50 | 
        POST запросом он возвращает такой же ответ что и GET цены нет.     | |||
| 13
    
        ttk 16.10.17✎ 15:55 | 
        потому что цены могут быть разными, надо авторизоваться     | |||
| 14
    
        Крэкпэк 16.10.17✎ 16:29 | 
        (3) Что за софт на картинке ?     | |||
| 15
    
        ttk 16.10.17✎ 16:44 | 
        (14) на SoapUi очень похоже     | |||
| 16
    
        ZSSSP 17.10.17✎ 08:27 | 
        Не получается отправить post запрос на сайт подскажите в чем может быть проблема?
 АдресСервера ="http://www.autopiter.ru"; АдресСтраницыАвторизации = "http://www.autopiter.ru"; АдресСтраницыРассылки = "http://www.autopiter.ru/goods/wht005437"; Логин = "hk05c6z"; Пароль = "Qwerty123"; // Убрать http-протоколы из доменного имени АдресСервера = СтрЗаменить(АдресСервера, "http://", ""); АдресСервера = СтрЗаменить(АдресСервера, "https://", ""); //АдресСервера = СтрЗаменить(АдресСервера, "/", ""); Соединение = Новый HTTPСоединение(АдресСервера); // Создать файлы запроса и получения ВремКаталог = КаталогВременныхФайлов() + "tempParser"; СоздатьКаталог(ВремКаталог); УдалитьФайлы(ВремКаталог,"*.*"); ИмяВыходногоФайла = "" + ВремКаталог + "\answer.html"; ИмяФайлаОтправки = "" + ВремКаталог + "\request.html"; // Подготовить файл для POST запроса POSTПараметры = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.UTF8,, Истина, Символы.ПС); POSTПараметры.Записать("user_name=" + Логин + "&user_password=" + Пароль + "&action=do_enter"); POSTПараметры.Закрыть(); // Определить заголовки POST, используя алгоритм "application/x-www-form-urlencoded" POSTЗаголовки = Новый Соответствие(); POSTЗаголовки.Вставить("POST "+АдресСтраницыАвторизации+" HTTP/1.1"); POSTЗаголовки.Вставить("Host", АдресСервера); POSTЗаголовки.Вставить("Referer", "http://"+АдресСервера); POSTЗаголовки.Вставить("Connection", "keep-alive"); POSTЗаголовки.Вставить("Content-Type", "application/x-www-form-urlencoded"); // Отправляем POST запрос Попытка ОтветHTTP = Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, АдресСтраницыАвторизации, ИмяВыходногоФайла, POSTЗаголовки); Исключение Сообщить("Неудачная попытка соединения с " + АдресСервера + ": " + ОписаниеОшибки()); Возврат; КонецПопытки; // Получим ресурс на который нас перебросил сервер Если ОтветHTTP.КодСостояния = 302 Тогда АдресСтраницы = ОтветHTTP.Заголовки["Location"]; КонецЕсли; // Определить заголовки GET, с куками полученными от сервера GETЗаголовки = Новый Соответствие(); GETЗаголовки.Вставить("Cookie", ОтветHTTP.Заголовки["Set-Cookie"]); GETЗаголовки.Вставить("Connection", "keep-alive"); // Получаем страницу, указывая куки ОтветHTTP = Соединение.Получить(АдресСтраницыРассылки, ИмяВыходногоФайла, GETЗаголовки); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |