Есть сайт, пытаюсь его пропарсить [необходимо зарегистрироваться для просмотра ссылки]. Вот код которым пытаюсь парсить:
Процедура ПропарситьКаталог(Каталог = "", Раздел = "")
ЧтениеХТМЛ = Новый Чтение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