Вход | Регистрация


как получить цены с сайта?

как получить цены с сайта?
Я
   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(); 
Подскажите что нужно сделать чтобы добраться до цен?
 
 
   vde69
 
1 - 16.10.17 - 13:25
цены чего?

покажи как ты добираешся до номенклатуры и я подскажу как добратся до цен
   ZSSSP
 
2 - 16.10.17 - 13:37
Обхожу текстответа циклом, но дело в том что даже в тексте ответа нет цен. Как их получить?
   Лефмихалыч
 
3 - 16.10.17 - 13:49
А цен там и правда нет. Они, видимо, каким-то js-ом подтягиваются в DOM после загрузки страницы. Как раз против таких хитрожопых, типа ТС, которые на халяву каталог хотят уравть:

https://i.imgur.com/hS7V52T.png
   rasta
 
4 - 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>

наверно как-то так )
   ZSSSP
 
5 - 16.10.17 - 14:24
только через ссылку можно достать цену? а саму ссылку получать при помощи перебора строк?
   ttk
 
6 - 16.10.17 - 14:29
   Юрий Лазаренко
 
7 - 16.10.17 - 14:51
(0) Открывать из 1С IE через OLE, программно открывать в нем нужную страницу, дожидаться загрузки, получать DOM и перебирать его. Медленно и ресурсоемко.
   rasta
 
8 - 16.10.17 - 14:55
(6) а как нашел эту страничку если не секрет. на главной и в хелпе ничего такого не увидел (
   ttk
 
9 - 16.10.17 - 14:59
(8)
Загружал от них что то,
если залогиниться, то там где то будет в интерфейсе
   ZSSSP
 
10 - 16.10.17 - 15:06
http://service.autopiter.ru/price.asmx  как можно это использовать в 1с ?пока не понимаю
 
 Рекламное место пустует
   asady
 
11 - 16.10.17 - 15:08
(10) там же написано
формируй post запрос
там в примерах приведены тексты пост запросов и ответы на них
   ZSSSP
 
12 - 16.10.17 - 15:50
POST запросом он возвращает такой же ответ что и GET цены нет.
   ttk
 
13 - 16.10.17 - 15:55
потому что цены могут быть разными, надо авторизоваться
   Крэкпэк
 
14 - 16.10.17 - 16:29
(3) Что за софт на картинке ?
   ttk
 
15 - 16.10.17 - 16:44
(14) на SoapUi очень похоже
   ZSSSP
 
16 - 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Заголовки);

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует