|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.03.2017, 12:22 | #1 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
получить курс Евро с сайта ЦБ РФ
Здравствуйте!
Фиг знает куда это написать, т.к. относится ко многим языкам, поэтому написал в раздел, в котором нашлась последняя активность по теме регулярных выражений. Как написать регулярное выражение, чтобы в результат вернулось значение, состоящее из нескольких строк? Пытаюсь получить курс Евро с сайта ЦБ РФ. Там он заключён вот в такую структуру: Код:
|
15.03.2017, 12:29 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Для HTML лучше использовать парсер HTML.
А курсы валют обычно предоставляются через API и/или в более удобных для обработки форматах (XML, JSON, ...) http://www.cbr.ru/scripts/Root.asp?PrtId=SXML
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
15.03.2017, 12:53 | #3 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Забыл уточнить: я программку в Python'е делаю. А точнее, в QPython3 на Андроиде.
Как парсить в HTML мне найти не удалось. В подавляющем большинстве примеров парсят на lxml, но его в QPython3 нет, а как его туда добавить (и можно ли вообще что-то в него добавить) мне найти не удалось. Ещё встречал вариант, что парсить можно на BeautifulSoup - с ним ситуация аналогичная lxml. И нашёл парсинг через регулярные выражения модулем re. HTMLParser тоже в QPython3 отсутствует... API не хотелось бы использоваться, т.к. далеко не везде оно есть, поэтому хочется разобраться с парсингом. В частности, в программке я получаю информацию о курсе ещё и с banki.ru |
15.03.2017, 13:31 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Парсинг обычной страницы сайта никак не застрахован от "мало ли какие новые ..... появятся на странице".
А какая разница? Надо только режим MULTILINE указать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
15.03.2017, 14:02 | #5 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Ну да, но тут всё-таки появляется подстраховка в виде дополнительных слов.
Спасибо, вроде MULTILINE проглотил. Но никак не могу понять как задать условие. Додуматься смог только до Код:
Последний раз редактировалось Ship_1; 15.03.2017 в 14:07. |
15.03.2017, 14:05 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так в MULTILINE он вроде обычно и \n.
Вообще наверно проще сначала просто удалить все \n, \r, \t и т.п. из HTML, заменить на ' '.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
15.03.2017, 14:10 | #7 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Ну почему-то возвращает пустоту... А если попробовать найти td, а не tr, то возвращает однострочные.
Может, придётся заменять, если не получится всё-таки разобраться с мультилайном. И ещё не пойму есть ли что-то типа "или". Например, цифры курса с ЦБ РФ можно взять через Код:
Код:
|
15.03.2017, 14:16 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Замена лучше потому что надеяться на форматирование HTML не стоит.
Браузеру все равно Код:
Код:
А "или" причем? В регекспах можно создавать группы (groups), видимо нужны они.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 15.03.2017 в 14:21. |
15.03.2017, 14:26 | #9 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
|
15.03.2017, 14:49 | #10 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Убрал "\n". Теперь
Код:
Код:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получить данные с сайта | lord24 | Работа с сетью в Delphi | 23 | 22.10.2015 11:23 |
Получить данные с сайта | Andrey85 | Работа с сетью в Delphi | 2 | 10.11.2010 21:37 |
Получить таблицу с сайта | Иллидан | Общие вопросы Delphi | 9 | 29.09.2010 21:49 |
Получить информацию с сайта | dimafe6 | Работа с сетью в Delphi | 4 | 03.07.2010 14:21 |
получить курс валют WebMoney | DeDoK | Работа с сетью в Delphi | 4 | 08.02.2010 12:45 |