1 Востаннє редагувалося A.N.Onim (22.11.2015 18:20:14)

Тема: Парсинг курса валют ПриватБанку

Доброго дня!
Хочу зробити парсер курсу валют головної сторінки ПриватБанку - https://privatbank.ua/ru/.
Все, що мені потрібно витягнути це числа курса:
http://f5.s.qip.ru/dUFH0T2m.png
І все. Тобто завантажити сторінку і витягнути 6 чисел.
Знайшов в ІНеті списочок бібліотек:
http://parsing.valemak.com/ru/python/library/
Але не знаю, за яку братись, так як зрозумів, що кожна бібліотека для разних цілей парсингу.
Чи тут можна без парсингу взагалі обійтись?
Підскажіть, будь ласка.
Дякую.

2

Re: Парсинг курса валют ПриватБанку

https://api.privatbank.ua/api-info/exchangerate.html

Подякували: A.N.Onim1

3 Востаннє редагувалося A.N.Onim (22.11.2015 18:29:44)

Re: Парсинг курса валют ПриватБанку

І тут я отримавши лінк на АПІ зрозумів, наскільки мало в мене досвіду, що я сам не здогадавсь, що повинен буди АПІ.  :(

А тепер купа нових питань. Тобто завантажуючи https://api.privatbank.ua/p24api/pubinf … ;coursid=5 я отримую:

[{"ccy":"RUR","base_ccy":"UAH","buy":"0.37500","sale":"0.39000"},{"ccy":"EUR","base_ccy":"UAH","buy":"26.00000","sale":"27.00000"},{"ccy":"USD","base_ccy":"UAH","buy":"24.20000","sale":"25.20000"}]

і власне с цим я вже працюю як хочу?
І інформація звичайно оновлюється?
А як зветься бібліотека стандартна для завантаження хтмл?

4

Re: Парсинг курса валют ПриватБанку

Це не HTML a JSON.
http://pythonworld.ru/moduli/modul-json.html

Подякували: raxp, A.N.Onim2

5

Re: Парсинг курса валют ПриватБанку

Ось маю модуль для 2 версіі Пітона(в мене 2.7.6) - https://docs.python.org/2/library/json.html. А за допомогою якого модулю я можу завантажити вміст https://api.privatbank.ua/p24api/pubinf … ;coursid=5, щоб потім працювати з ним як з json? httplib ? тобто як отримати вміст сторінки з значеннями валют?

6

Re: Парсинг курса валют ПриватБанку

Закачувати так: https://docs.python.org/2/library/httplib.html
Там же приклад.

7

Re: Парсинг курса валют ПриватБанку

Поки чекав відповіді знайшов http://ruprog.net/ru/knowledge/python/46/. І так я зміг завантажити сторінку.

8 Востаннє редагувалося A.N.Onim (22.11.2015 21:22:48)

Re: Парсинг курса валют ПриватБанку

https://api.privatbank.ua/p24api/pubinf … ;coursid=5 до речі, в них помилка не RUB а RUR
і дивно, що не має інфи на вчора https://api.privatbank.ua/p24api/exchan … 21.11.2015

9

Re: Парсинг курса валют ПриватБанку

дивно, що не має інфи на вчора

Ничого дивного НБУ теж передає зміну валют не кожен день.

10

Re: Парсинг курса валют ПриватБанку

А яка принципова відміність між використанням для данної задачі httplib i urllib2 ?

11

Re: Парсинг курса валют ПриватБанку

A.N.Onim написав:

до речі, в них помилка не RUB а RUR

Ні, у вас.

12

Re: Парсинг курса валют ПриватБанку

quez написав:
A.N.Onim написав:

до речі, в них помилка не RUB а RUR

Ні, у вас.

Тобто? І ще: я в циклі отримую курс валют з архіва валют за допомогою urllib2, тобто роблю близько 200 відкритів та завантажень данних на різний день, змінюючи дату в посиланні. Такі речі нормально сприймаются провайдером? Ну тобто у мене було за 72 секунди 100 підключеннь по черзі.  :)

13

Re: Парсинг курса валют ПриватБанку

RUssian Ruble, тому RUR.

Робіть невелику затримку, а то при великому навантаженні можуть забанити.

14

Re: Парсинг курса валют ПриватБанку

quez написав:

RUssian Ruble, тому RUR.

Робіть невелику затримку, а то при великому навантаженні можуть забанити.

Але ж RUB - то є міжнародний код рубля. Чи не так?

І якою повинна бути затримка? Секунда? Півсекунди?

Подякували: quez1

15

Re: Парсинг курса валют ПриватБанку

A.N.Onim написав:

Але ж RUB - то є міжнародний код рубля. Чи не так?

І якою повинна бути затримка? Секунда? Півсекунди?

Виявляється, так. RUR - то рубль до деномінації. Позначення логічне, застосовується широко, і це ввело мене в оману.

Секунди має бути достатньо.

Подякували: A.N.Onim1

16

Re: Парсинг курса валют ПриватБанку

мене було за 72 секунди 100 підключеннь по черзі.

Навiщо так часто? Хiба ж курс не змiнюють раз чи два на день?

17

Re: Парсинг курса валют ПриватБанку

Itari написав:

мене було за 72 секунди 100 підключеннь по черзі.

Навiщо так часто? Хiба ж курс не змiнюють раз чи два на день?

Мені потрібно отримати курс валют за 3 місяці.  :) Добре, я зрозумів) Тобто якщо мені потрібно значення за 90 днів, то робити затримку в секунду між 90 запросами? А якою ф-нкцією можна зробити затримку?
І хтось знає щодо:

А яка принципова відміність між використанням для данної задачі httplib i urllib2 ?

?

18

Re: Парсинг курса валют ПриватБанку

А якою ф-нкцією можна зробити затримку?

http://pythoncentral.io/pythons-time-sl … your-code/

хтось знає щодо

Моя не знамо...

Подякували: A.N.Onim1

19

Re: Парсинг курса валют ПриватБанку

Все ж таки в архіві курсів є дані на 4 роки назад на всі дні, крім сьогоднішнього та вчорашнього.
Запустивши скрипт, який перевіряв чи є дані на конкретну дату(100 днів) отримав:

Прихований текст
25.11.2015 No
24.11.2015 No
23.11.2015 Yes
22.11.2015 Yes
21.11.2015 Yes
20.11.2015 Yes
19.11.2015 Yes
18.11.2015 Yes
17.11.2015 Yes
16.11.2015 Yes
15.11.2015 Yes
14.11.2015 Yes
13.11.2015 Yes
12.11.2015 Yes
11.11.2015 Yes
10.11.2015 Yes
9.11.2015 Yes
8.11.2015 Yes
7.11.2015 Yes
6.11.2015 Yes
5.11.2015 Yes
4.11.2015 Yes
3.11.2015 Yes
2.11.2015 Yes
1.11.2015 Yes
31.10.2015 Yes
30.10.2015 Yes
29.10.2015 Yes
28.10.2015 Yes
27.10.2015 Yes
26.10.2015 Yes
25.10.2015 Yes
24.10.2015 Yes
23.10.2015 Yes
22.10.2015 Yes
21.10.2015 Yes
20.10.2015 Yes
19.10.2015 Yes
18.10.2015 Yes
17.10.2015 Yes
16.10.2015 Yes
15.10.2015 Yes
14.10.2015 Yes
13.10.2015 Yes
12.10.2015 Yes
11.10.2015 Yes
10.10.2015 Yes
9.10.2015 Yes
8.10.2015 Yes
7.10.2015 Yes
6.10.2015 Yes
5.10.2015 Yes
4.10.2015 Yes
3.10.2015 Yes
2.10.2015 Yes
1.10.2015 Yes
30.9.2015 Yes
29.9.2015 Yes
28.9.2015 Yes
27.9.2015 Yes
26.9.2015 Yes
25.9.2015 Yes
24.9.2015 Yes
23.9.2015 Yes
22.9.2015 Yes
21.9.2015 Yes
20.9.2015 Yes
19.9.2015 Yes
18.9.2015 Yes
17.9.2015 Yes
16.9.2015 Yes
15.9.2015 Yes
14.9.2015 Yes
13.9.2015 Yes
12.9.2015 Yes
11.9.2015 Yes
10.9.2015 Yes
9.9.2015 Yes
8.9.2015 Yes
7.9.2015 Yes
6.9.2015 Yes
5.9.2015 Yes
4.9.2015 Yes
3.9.2015 Yes
2.9.2015 Yes
1.9.2015 Yes
31.8.2015 Yes
30.8.2015 Yes
29.8.2015 Yes
28.8.2015 Yes
27.8.2015 Yes
26.8.2015 Yes
25.8.2015 Yes
24.8.2015 Yes
23.8.2015 Yes
22.8.2015 Yes
21.8.2015 Yes
20.8.2015 Yes
19.8.2015 Yes
18.8.2015 Yes

Цікаво, чому не має в архіві на вчора? Я розумію на сьогодні, але ж то вчора...