old_contents: # -*- coding: utf-8 -*-
  import re
  import requests
  from bs4 import BeautifulSoup
  
  from russian_metro.parser.base import BaseDataProvider
  
  
  class DataProvider(BaseDataProvider):
      metro_data_src = u"http://ru.wikipedia.org/wiki/\
                         Список_станций_Нижегородского_метрополитена"
      td_count = 4
  
      def download_all(self):
          i = 0
          line_trs = []
          line_data = dict()
          html = BeautifulSoup(requests.get(self.metro_data_src).content)
          headers = html.find_all('h2')
          for head in headers:
              if self.line_word in head.get_text():
                  i += 1
                  table = head.findNext('table')
                  td = table.find('td')
                  line = self.get_or_create_line(i, td)
                  all_trs = table.find_all('tr', recursive=False)
                  for tr in all_trs:
                      tds = tr.find_all('td', recursive=False)
                      if len(tds) == self.td_count:
                          station_title = tds[0].get_text()
                          self.get_or_create_station(line, tds[0])
  
new_contents: # -*- coding: utf-8 -*-
  import re
  import requests
  from bs4 import BeautifulSoup
  
  from russian_metro.parser.base import BaseDataProvider
  
  
  class DataProvider(BaseDataProvider):
      metro_data_src = u"http://ru.wikipedia.org/wiki/\
                         Список_станций_Нижегородского_метрополитена"
      td_count = 4
  
      def download_all(self):
          i = 0
          line_trs = []
          line_data = dict()
          html = BeautifulSoup(requests.get(self.metro_data_src).content)
          headers = html.find_all('h2')
          for head in headers:
              if self.line_word in head.get_text():
                  i += 1
                  table = head.findNext('table')
                  td = table.find('td')
                  line = self.get_or_create_line(i, td)
                  all_trs = table.find_all('tr', recursive=False)
                  for tr in all_trs:
                      tds = tr.find_all('td', recursive=False)
                      if len(tds) == self.td_count:
                          self.get_or_create_station(line, tds[0])
  
subject: Update novgorod.py