#!/usr/bin/env python3.6 # -*- coding: utf-8 -*- import urllib, re, time, requests from bs4 import BeautifulSoup from xml.dom.minidom import parseString start = time.clock() headers = { 'User-Agent': ('Mozilla/5.0 (Windows NT 6.0; rv:14.0) Gecko/20100101 ' 'Firefox/14.0.1'), 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'keep-alive', 'DNT': '1' } page = requests.get( 'http://www.cbr.ru/scripts/XML_daily.asp', headers=headers).text xmldoc = parseString(page) BYN = xmldoc.getElementsByTagName('Value')[4] BYN = BYN.firstChild.nodeValue BYN = re.sub(r',', '.', BYN) #print (BYN) URL = 'https://jobs.tut.by/search/vacancy?text=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82&only_with_salary=false&search_field=name&area=16&enable_snippets=true&clusters=true&salary=' def get_html(url): response = urllib.request.urlopen(url) return response.read() def parse(html): soup = BeautifulSoup(html, "lxml") table = soup.find('table', class_='l l_auto') vacancies = [] for row in table.find_all( 'div', class_= 'search-result-description__item search-result-description__item_primary' ): nazv = row.find_all('div', class_='search-result-item__head') region = row.find_all('span', class_='searchresult__address') date = row.find_all('span', class_='b-vacancy-list-date') company = row.find_all('div', class_='search-result-item__company') salary = row.find_all('meta', itemprop='baseSalary') nal = row.find_all('div', class_='b-vacancy-list-salary') nal = re.sub(r'(\<(/?[^>]+)>)', '', str(nal)) nal = re.sub(r'\D', '', str(nal)) if nal == '': nal = 0 #nal = str(float(BYN) * int(nal)) + ' p.' vacancies.append({ 'vacancy': nazv[0].a.text, 'region': region[0].text, 'date': (date[0].text + " "), 'company': company[0].a.text.strip(), # 'salary' : salary[-1]['content'] #'salary': salary, 'nal': nal }) for vacancy in vacancies: vacancy = re.sub(r'(\<(/?[^>]+)>)|\[|\]|\\u2062', '', str(vacancy)) vacancy = re.sub(r'\\xa0', ' ', vacancy) print(vacancy) finish = time.clock() itog = str(round(finish - start, 3)) print(itog + " sec.") def main(): parse(get_html(URL)) if __name__ == '__main__': main()

И с Российскими рублями(57-ая строка):
