Ошибка при парсинге сайта
☑
0
junirm
07.07.16
✎
15:39
Добрый день, выкидывает ошибку при парсинке сайта "Значение не является значением объектного типа (Прочитать)
Текст.Прочитать(ИмяВходящегоФайла, КодировкаТекста.UTF8);
" помогите пожалуйста!:))
IE = Новый COMОбъект("InternetExplorer.Application");
IE.Visible = Истина;
Текст = "";
IE.Navigate(";);
Пока IE.readyState < 4 Цикл
КонецЦикла;
ВходящийФайл = Новый Файл(ИмяВходящегоФайла);
Текст = IE.Document.documentElement.innerHTML;
Текст.Прочитать(ИмяВходящегоФайла, КодировкаТекста.UTF8);
ПоискДоставлено = Ложь;
ПоискРасписался = Ложь;
СписокДанных = Новый СписокЗначений;
Для ЧисИндекс1 = 1 По Текст.КоличествоСтрок() Цикл
Стр = Текст.ПолучитьСтроку(ЧисИндекс1);
Если Найти(Стр, "Доставлено:") Тогда
ПоискДоставлено = Истина;
КонецЕсли;
Если ПоискДоставлено Тогда
Если Найти(Стр, "<dd>") Тогда
Стр = Текст.ПолучитьСтроку(ЧисИндекс1+1);
СписокДанных.Добавить(СокрЛП(Прав(Стр, СтрДлина(Текст) - Найти(Стр, " ") - 5)));
Стр = Текст.ПолучитьСтроку(ЧисИндекс1+2);
СписокДанных.Добавить(СокрЛП(Прав(Стр, СтрДлина(Текст) - Найти(Стр, " ") - 5)));
ПоискДоставлено = Ложь;
КонецЕсли;
КонецЕсли;
1
Nuobu
07.07.16
✎
15:40
Что отладчик говорит?
2
ovrfox
07.07.16
✎
15:46
Что значит конструкция
ВходящийФайл = Новый Файл(ИмяВходящегоФайла);
Текст = IE.Document.documentElement.innerHTML;
Текст.Прочитать(ИмяВходящегоФайла, КодировкаТекста.UTF8);
Зачем тебе ВходящийФайл?
Советую: Перед чтением проверь, что входящий файл существует.
3
ovrfox
07.07.16
✎
16:19
Возможно нужно перед циклом
Вместо
Текст = ""
Написать
Текст = Новый ТекстовыйДокумент
А вместо
Текст = IE.Document.documentElement.innerHTML;
Текст.УстановитьТекст(IE.Document.documentElement.innerHTML);
Как Вы думаете?
AdBlock убивает бесплатный контент. 1Сергей