![]() |
![]() |
![]() |
|
Парсить Internet Explorer | ☑ | ||
---|---|---|---|---|
0
junirm
04.07.16
✎
14:25
|
Добрый день. Не получается пропарсить сайт IE:( Может у кого есть пример или поможете дельными советами, буду очень благодарен. Информации в интернете много, но ничего толкового для себя я не нашел. P.S. работать в 1с только учусь, по этому прошу строго не судть)
|
|||
1
PR
04.07.16
✎
14:26
|
||||
2
junirm
04.07.16
✎
16:22
|
https://wwwapps.ups.com/WebTracking/processInputRequest?AgreeToTermsAndConditions=yes&loc=ru_RU&Requester=trkinppg&tracknum=H9725147134 вот сайт который мне нужно пропарсить!
но не выходит. подскажите добрые люди где ошибка IE = Новый COMОбъект("InternetExplorer.Application"); IE.Visible = Истина; СерверИсточник = "wwwapps.ups.com"; Адрес = "https://wwwapps.ups.com/WebTracking/processInputRequest?AgreeToTermsAndConditions=yes&loc=ru_RU&Requester=trkinppg&tracknum="; ВремКаталог = КаталогВременныхФайлов() + "tempUPS"; СоздатьКаталог(ВремКаталог); Попытка УдалитьФайлы(ВремКаталог,"*.*"); Исключение Возврат; КонецПопытки; Для Каждого СтрПисьмо Из РезЗапроса Цикл Если Найти(СтрПисьмо.НомерНакладной, ",") Тогда Продолжить; КонецЕсли; ИмяВходящегоФайла = "" + ВремКаталог + "\" + "UPS" + СокрЛП(СтрПисьмо.НомерНакладной); СтрокаПараметраПолучения = Адрес + СокрЛП(СтрПисьмо.НомерНакладной) + "&track.x=%CE%F2%F1%EB%E5%E4%E8%F2%FC"; СтрокаПараметраПолучения = Адрес + СокрЛП("H9725147134") + "&track.x=%CE%F2%F1%EB%E5%E4%E8%F2%FC"; //СтрокаПараметраПолучения = Адрес + СокрЛП("H9725147134") + "&track.x=%25CE%25F2%25F1%25EB%25E5%25E4%25E8%25F2%25FC"; IE.Navigate(Адрес + СокрЛП(СтрПисьмо.НомерНакладной)); Пока IE.readyState < 4 Цикл КонецЦикла; Если ЗапроситьФайлыССервера(СерверИсточник, СтрокаПараметраПолучения, ИмяВходящегоФайла, , Истина) <> Истина Тогда //Предупреждение("Не удалось получить интернет-ресурс.",10, "Предупрежедние"); Продолжить; КонецЕсли; ВходящийФайл = Новый Файл(ИмяВходящегоФайла); Если НЕ ВходящийФайл.Существует() Тогда //Предупреждение("Не удалось получить файл данных.",10, "Предупрежедние"); Продолжить; КонецЕсли; Текст = Новый ТекстовыйДокумент; Текст.Прочитать(ИмяВходящегоФайла, КодировкаТекста.UTF8); ПоискДоставлено = Ложь; ПоискРасписался = Ложь; СписокДанных = Новый СписокЗначений; Для ЧисИндекс1 = 1 По Текст.КоличествоСтрок() Цикл Стр = Текст.ПолучитьСтроку(ЧисИндекс1); Если Найти(Стр, "Доставлено:") Тогда ПоискДоставлено = Истина; КонецЕсли; Если ПоискДоставлено Тогда Если Найти(Стр, "<dd>") Тогда Стр = Текст.ПолучитьСтроку(ЧисИндекс1+1); СписокДанных.Добавить(СокрЛП(Прав(Стр, СтрДлина(Стр) - Найти(Стр, " ") - 5))); Стр = Текст.ПолучитьСтроку(ЧисИндекс1+2); СписокДанных.Добавить(СокрЛП(Прав(Стр, СтрДлина(Стр) - Найти(Стр, " ") - 5))); ПоискДоставлено = Ложь; КонецЕсли; КонецЕсли; Если Найти(Стр, "Расписался:") Тогда ПоискРасписался = Истина; КонецЕсли; Если ПоискРасписался Тогда Если Найти(Стр, "<dt>") И Найти(Стр, "</dt>") = 0 Тогда СписокДанных.Добавить(Прав(Стр, СтрДлина(Стр) - Найти(Стр, "<dt>") - 3)); ПоискРасписался = Ложь; КонецЕсли; КонецЕсли; КонецЦикла; |
|||
3
Лефмихалыч
04.07.16
✎
17:05
|
не надо ни чего парсить. UPS предоставляет нормальный API
https://www.ups.com/content/ru/ru/bussol/browse/cat/developer_kit.html |
|||
4
Serginio1
04.07.16
✎
17:20
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |