Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> АдресСайта при HTTPСоединение          
kosalex Подменю пользователя
сообщение 10.07.15, 9:52
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Есть сайт, пытаюсь его пропарсить [необходимо зарегистрироваться для просмотра ссылки]. Вот код которым пытаюсь парсить:

Процедура ПропарситьКаталог(Каталог = "", Раздел = "")
    ЧтениеХТМЛ = Новый ЧтениеHTML;
    ПостроительДОМ = Новый ПостроительDOM;
    //Генерируем имя файла на диске, в который запишется страница сайта
    ИмяФайла = КаталогЗагрузкиВременныхФайлов + "\catalog\" + СтрЗаменить(Каталог, "\", "_") + ".html";
    //Загружаем нужную нам страницу в каталог
    Соединение.ОтправитьДляОбработки(Каталог, ИмяФайла); //ВОТ ЗДЕСЬ ВЫЛЕТАЕТ С ОШИБКОЙ. ПРОБОВАЛ И метод ПОЛУЧИТЬ(), ВСЕ РАВНО НЕ ПОЛУЧАЕТ СТРАНИЦУ....
    //Начинаем чтение нашего файла
    ЧтениеХТМЛ.ОткрытьФайл(ИмяФайла, "UTF-8");
КонецПроцедуры

Процедура ЗагрузитьКаталогиССайтаНажатие(Элемент)
    ПропарситьКаталог("mprestige.com.ua\dorozhnye-sumki-c-316", "Каталог");
КонецПроцедуры

Процедура УстановитьСоединениеССайтомНажатие(Элемент)
    АдресСайта = "mprestige.com.ua";
    КаталогЗагрузкиВременныхФайлов = "D:\Tmp\tmp_files";
    Соединение = Новый HTTPСоединение(АдресСайта,80,,,,120,);
    Если Соединение <> Неопределено Тогда
        ОчиститьСообщения();
        Сообщить("Соединение установлено!");    
    Иначе
        ОчиститьСообщения();
        Сообщить("Соединение не установлено!");    
    КонецЕсли;
КонецПроцедуры



Не получает страницу....смотрите в коде комментарий.

Изменил немного процедуру, заработало, но в строке (см. код), все равно какая то беда, не находит мои каталоги...
Процедура ПропарситьКаталог(Каталог = "", Раздел = "")
    ЧтениеХТМЛ = Новый ЧтениеHTML;
    ПостроительДОМ = Новый ПостроительDOM;
    //Генерируем имя файла на диске, в который запишется страница сайта
    ИмяФайла = КаталогЗагрузкиВременныхФайлов + "\catalog\" + СтрЗаменить(Каталог, "\", "_") + ".html";
    
    ЗапросХТТП = Новый HTTPЗапрос;
    ЗапросХТТП.УстановитьТелоИзСтроки(Каталог,);
    
    //Загружаем нужную нам страницу в каталог
    Соединение.Получить(ЗапросХТТП, ИмяФайла);
    
    
    //Начинаем чтение нашего файла
    ЧтениеХТМЛ.ОткрытьФайл(ИмяФайла, "UTF-8");
    //Загружаем всю структуру документа в DOM
    ДокументХТМЛ = ПостроительДОМ.Прочитать(ЧтениеХТМЛ);
    
    //Получаем все элементы TABLE
    ЭлементыКаталога = ДокументХТМЛ.ПолучитьЭлементыПоИмени("main-block");
    //Находим в них нужный нам блок, содержащий ссылки на подкаталоги
    Для Каждого ЭлементКаталога из ЭлементыКаталога Цикл //ЭЛЕМЕНТОВ НЕТ, В ЦИКЛ НЕ ЗАХОДИТ...
    ОбработкаПрерыванияПользователя();
        Если ЭлементКаталога.ИмяКласса = "item" Тогда
            //Нашли, собираем из него все ссылки (элементы А)
            ЭлементыA = ЭлементКаталога.ПолучитьЭлементыПоИмени("A");
            Если ЭлементыA.Количество() > 0 Тогда
                //Начинаем парсить каждую найденную ссылку как каталог этой же процедурой рекурсивно
                Для Каждого ЭлементA из ЭлементыA Цикл
                    ПропарситьКаталог(ЭлементA.Гиперссылка, Раздел + " / " + ЭлементA.ТекстовоеСодержимое);
                КонецЦикла;
            Иначе
                //Если ссылок не найдено, значит подкаталогов нет и это конечный подкаталог
                //Добавляем его в нашу табличную часть
                НоваяСтрока = СписокКаталогов.Добавить();
                НоваяСтрока.Раздел = Раздел;
                НоваяСтрока.СсылкаНаСтраницу = Каталог;    
            КонецЕсли;    
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры


Сообщение отредактировал Vofka - 22.07.15, 16:02

kosalex Подменю пользователя
сообщение 10.07.15, 11:14
Сообщение #2

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Все получилось!

beermoscow Подменю пользователя
сообщение 28.11.18, 16:29
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 2
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(kosalex @ 10.07.15, 12:14) *
Все получилось!


Здравствуйте. У вас все получилось. Расскажите что вы сделали.

kosalex, Здравствуйте. У вас все получилось. Расскажите что вы сделали. Если можно на gva-int@mail.ru Спасибо

kosalex Подменю пользователя
сообщение 14.01.19, 0:15
Сообщение #4

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

beermoscow @ 28.11.18, 16:29 * ,

Уже не помню, но скорее всего что не внимательным где то был :-)

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 8:25
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!