Алгоритм по которому можно узнать цену на товар на любой страничке(html)?
Если речь буквально о _любой_ странице, то боюсь эта задача не имеет простого решения, дающего приемлемый уровень ошибок.
Этот класс задач называется Named Entity Recognition, и денежное значение является одним из общепринятых классов сущностей. 
Если же речь идёт о каком-то более узком поле для поиска, например определенный шаблон распространённого интернет-магазина, тогда можно обойтись и парсингом с регекспами. Но обычно таки это NER, со всеми его "прелестями".
1) Вместо "руб." часто бывает просто "р.", что несколько усложнит задачу. Буква "р." может стоять рядом со старой ценой или рядом с суммой при покупке по кредиту. При этом эта цифра может стоять раньше настоящей цены.
2) Слово цена может идти и перед цифрами.
3) Не всегда это бывает класс, может быть атрибут itemprop например или слово price может входить в более сложное имя класса, например item-price. Кроме этого слово price может встретится в названии самого интернет-магазина.