|
0 / 0 / 0
Регистрация: 24.03.2022
Сообщений: 7
|
|
Парсинг HTML страницы через Match()24.03.2022, 20:47. Показов 1714. Ответов 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 кода страницы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|