С чего начать написание парсера?
Отличная и мощнейшая библиотека для парсинга сайтов на Python - это scrapy.
В то же время, есть два "интересных" проекта - zenrus.ru и ruszen.ru. И где-то я видел статью, что как минимум одному из них, сделанному на коленке, было очень трудно справляться с неожиданно выросшей нагрузкой. Я бы порекомендовал вам использовать какой-либо бродкастинг для оповещения всех подключенных клиентов об изменении курса - что-то вроде websocket.
1) Я так понимаю Вы хотите реализовать парсер с помощью Python-а. Думаю, для PHP на данное время больше разных библиотек для парсинга сайтов. Тот же самый Simple HTML Dom. Но дело Ваше - можете пробовать на Python-е. Найдите хорошую библиотеку, которая позволит Вам это делать.
2) Обновлять курсы валют можно просто используя обычный cron. Устанавливаете обновление 1 раз в пару минут - парсер сам бежит по нужному сайту или сайтам и парсит необходимую информацию и заливает в БД.
Для обновления на сайте данных я бы сделал обычным AJAX-ом. Можно также попробовать сокеты.
3) Если Вы решили парсить сайты не в ручную, а через API - то нужно просто искать те сайты с курсами которые предоставляют это API.
Надеюсь Вам в чем-то помог.