|
0 / 0 / 0
Регистрация: 24.03.2022
Сообщений: 7
|
|
Парсинг HTML страницы через Match()24.03.2022, 20:47. Показов 1739. Ответов 11
Метки нет (Все метки)
Возникла проблема при парсинге хтмл страницы с помощью Match()
В коде имеется строка (см. 1 скрин), пытаюсь выйти на ее значения с помощью шаблонов (см. 2 скрин). Первый шаблон работает, находит строку, второй по неведомым причинам - нет. Грешу на кодировки, но не знаю куда копать, как проверять и менять.
0
|
|
| 24.03.2022, 20:47 | |
|
Ответы с готовыми решениями:
11
Парсинг html страницы Парсинг страницы html |
|
Администратор
|
|
| 24.03.2022, 22:32 | |
Сообщение было отмечено superhacker1999 как решение
Решение
superhacker1999, попробуйте передать дополнительный аргумент в конструктор
RegexOptions::Singleline.P.S. На будущее - код лучше выкладывать текстом.
0
|
|
|
0 / 0 / 0
Регистрация: 24.03.2022
Сообщений: 7
|
|
| 25.03.2022, 15:15 [ТС] | |
|
Вау! Сразу заработало, спасибо огромное.
Но есть одно "но". На сайте отображаются предложения о покупке предмета в разной валюте (каждый продавец выставляет свою валюту). Я же ищу самый дешевый предмет в любой валюте, но если самый дешевый предмет продается за рубли то в форме я получаю это:
0
|
|
|
Администратор
|
|
| 25.03.2022, 15:34 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 24.03.2022
Сообщений: 7
|
||||||
| 25.03.2022, 15:37 [ТС] | ||||||
0
|
||||||
|
Администратор
|
||||||
| 25.03.2022, 15:45 | ||||||
|
superhacker1999, WebClient плохо работает с кодировками. Попробуйте явно её указать
1
|
||||||
|
0 / 0 / 0
Регистрация: 24.03.2022
Сообщений: 7
|
|
| 25.03.2022, 15:49 [ТС] | |
|
Заработало, спасибо, Человечище!!!
0
|
|
|
0 / 0 / 0
Регистрация: 24.03.2022
Сообщений: 7
|
|||||||
| 26.03.2022, 13:08 [ТС] | |||||||
|
При добавлении в код поиска фунта "£" либо йены "¥" выходит варнинг C4566: символ, представленный универсальным именем символа "\u00A5", невозможно представить в текущей кодовой странице (1251) Хотя хедер (Form.h) в котором прописаны все эти операции я сохраняю с кодировкой "Юникод (UTF-8"). Код поиска символов прилагаю.
0
|
|||||||
|
Администратор
|
|
| 26.03.2022, 19:54 | |
|
superhacker1999, нужно смотреть текст страницы и пройтись отладчиком чтобы понять в чем дело. Я только могу отметить что цикл с постоянными вызовами price_value->Match(line, i) выглядит мягко говоря странно. Если нужно обработать несколько результатов, то используйте метод Matches и проходите по коллекции.
Добавлено через 55 секунд И насчет кодировки исходного файла - видимо он все таки не в UTF-8 сохранен. Не знаю почему, но ошибка говорит сама за себя.
0
|
|
|
0 / 0 / 0
Регистрация: 24.03.2022
Сообщений: 7
|
|
| 26.03.2022, 20:46 [ТС] | |
|
OwenGlendower, про цикл: использую его таким образом, поскольку мне нужно будет знать какую именно валюту я нашел и перевести ее позже в рубли (,но больше по незнанию). Может быть нужно не только хедер сохранять в UTF-8 но и каждый файл проекта? По крайней мере хедер и .cpp файл с вызовом формы я сохраняю в UTF-8....
0
|
|
|
Администратор
|
||||||
| 26.03.2022, 22:11 | ||||||
|
superhacker1999, поиск валюты вопросов не вызывает. Непонятно зачем постоянно делать один и тот же поиск. Что мешает сделать его ровно один раз? Хотя бы так:
Можно еще упростить код. Например не вручную индексы задавать, а использовать метод NextMatch(). Еще более л3уучшим вариантом будет отказ от регулярных выражений и переход на специализированные библиотеки вроде AngleSharp. В C++/CLI только неудобно её ставить. Там не поддержки NuGet насколько я знаю. Придется вручную подключать.
0
|
||||||
|
0 / 0 / 0
Регистрация: 24.03.2022
Сообщений: 7
|
|
| 26.03.2022, 23:39 [ТС] | |
|
Согласен, спасибо
![]() Я пока просто на этапе "лишь бы заработало" основная и наверное единственная проблема пока что - это кодировки, их победить пока не удается))
0
|
|
| 26.03.2022, 23:39 | |
|
Помогаю со студенческими работами здесь
12
Парсинг html кода страницы Некорректный парсинг html страницы Парсинг html кода страницы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|