from sites.default import DefaultSite from sites.helper.query import Query class Uzimusic(DefaultSite): def __init__(self): super().__init__() self.url = 'https://uzimusic.ru' self.query = Query(self, 'POST') \ .add_parameter('do', 'search') \ .add_parameter('subaction', 'search') \ .add_parameter('search_start', '0') \ .add_parameter('full_search', '0') \ .add_parameter('result_from', '1') \ .add_parameter('story', '{0}') self.structure\ .set_container_path('div#dle-content') \ .set_item_path('div.songs-list-item') \ .set_title_path('div.song-name') \ .set_artist_path('div.song-artist') \ .set_duration_path('span.song-time') \ .set_url_path('span.song-play') self.request\ .add_header('Referer', self.url + '/') \ .add_header('Origin', self.url) \ .add_header('Content-Type', 'application/x-www-form-urlencoded') def format_url(self, field): return self.url + (field.attr['data-audio'].format(title_to_eng=field.attr['data-audio-title'], HTTP_HOST=''))