Доброго времени суток! Пишу обработку для парсинга сайта bestchange.ru
Есть такой код:
Сервер = "bestchange.ru";
КаталогЗагрузки = "D:/Bestchange_parser";
Соединение = Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL);
ЧтениеХТМЛ = Новый ЧтениеHTML;
ПостроительДОМ = Новый ПостроительDOM;
//Генерируем имя файла на диске, в который запишется страница сайта
ИмяФайла = КаталогЗагрузки + "/Give/" + "give.html";
//Загружаем нужную нам страницу в каталог
Ресурс = "bestchange.ru";
Ответ = Соединение.Получить(Ресурс, ИмяФайла);
//Начинаем чтение нашего файла
ЧтениеХТМЛ.ОткрытьФайл(ИмяФайла, "UTF-8");
//Загружаем всю структуру документа в DOM
ДокументХТМЛ = ПостроительДОМ.Прочитать(ЧтениеХТМЛ);
//Получаем все элементы TABLE
ЭлементыTABLE = ДокументХТМЛ.ПолучитьЭлементыПоИмени("curr_tab");
301 это не ошибка, вам в ответе возвращают "новый" адрес сайта, надо выполнить на него переход, или запрашивать сразу этот адрес (вероятно изначально ваш запрос идет на http://)
Сервер = "bestchange.ru";
КаталогЗагрузки = "D:/Bestchange_parser";
Соединение = Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL);
ЧтениеХТМЛ = Новый ЧтениеHTML;
ПостроительДОМ = Новый ПостроительDOM;
//Генерируем имя файла на диске, в который запишется страница сайта
ИмяФайла = КаталогЗагрузки + "/Give/" + "give.html";
//Загружаем нужную нам страницу в каталог
Ресурс = "www.bestchange.ru";
Заголовки = Новый Соответствие;
Запрос = Новый HTTPЗапрос(Ресурс,Заголовки);
Ответ = Соединение.Получить(Запрос, ИмяФайла);
Если Ответ.КодСостояния = 301 Тогда
Ответ = Соединение.Получить(Ответ.Заголовки.Получить("Location"),ИмяФайла);
КонецЕсли;
//Начинаем чтение нашего файла
ЧтениеХТМЛ.ОткрытьФайл(ИмяФайла, "UTF-8");
//Загружаем всю структуру документа в DOM
ДокументХТМЛ = ПостроительДОМ.Прочитать(ЧтениеХТМЛ);
//Получаем все элементы TABLE
ЭлементыTABLE = ДокументХТМЛ.ПолучитьЭлементыПоИмени("curr_tab");
Возможно это защита от парсинга, вы не идентифицируете себя как браузер, поэтому так, попробуйте задать заголовки которые соответствуют какому-то браузеру. Обратитесь в поддержку сайта, это самый быстрый путь выяснить причину, т.к. код визуально рабочий, проверить его можно путем указания любого другого сайта (который явно не играется с перенаправлениями)
logist @ Сегодня, 22:27
,
ТП не отвечает) наверное этот вопрос не связан с курсами и проблемами обменников) по этому и игнор. Заголовки пробую в данный момент) Опишусь.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua