pars-hitmotop 0.0.7__tar.gz → 0.0.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,67 @@
1
+ Metadata-Version: 2.1
2
+ Name: pars_hitmotop
3
+ Version: 0.0.9
4
+ Home-page: https://github.com/PY079/pars_hitmotop
5
+ Download-URL: https://github.com/PY079/pars_hitmotop/arhive/v0.0.9.zip
6
+ Author: Joy_079
7
+ Author-email: Prufu@yandex.ru
8
+ Classifier: Programming Language :: Python
9
+ Classifier: Programming Language :: Python :: 3.7
10
+ Classifier: Programming Language :: Python :: 3.8
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
15
+ Description-Content-Type: text/markdown
16
+
17
+ # Оглавление
18
+ 0. [Оглавление](https://github.com/PY079/pars_hitmotop#оглавление)
19
+ 1. [Что именно парсит?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-именно-парсит)
20
+ 2. [Как использовать модуль entered_tracks](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-entered_tracks)
21
+ 3. [Как использовать модуль rating_tracks_count](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_count)
22
+ 4. [Как использовать модуль rating_tracks_page](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
23
+ 5. [Что можно достать при запросе?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-можно-достать-при-запросе)
24
+ ____
25
+ Этот проект парсит [музыкальный сайт](https://hitmos.me/)
26
+ ____
27
+ # Что именно парсит?
28
+ 1. [Рейтинговые треки](https://hitmos.me/songs/top-rated) от 1 до 48;
29
+ 2. Тоже [рейтинговые треки](https://hitmos.me/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
30
+ 3. Треки введенные пользователем. Парсит от 1 трека до конечной страницы (на одной странице 48 треков)
31
+ ____
32
+ ## Как использовать модуль *entered_tracks*
33
+ ```
34
+ from pars_hitmotop.entered_tracks import EnteredTrack
35
+ result=EnteredTrack('linkin park',10)
36
+ ```
37
+ 1 аргументом (music_name) передается название песни или автора. 2 Аргументом (count) передается количество треков
38
+ ____
39
+ ## Как использовать модуль *rating_tracks_count*
40
+ ```
41
+ from pars_hitmotop.rating_tracks_count import RatingCount
42
+ result=RatingCount(10)
43
+ ```
44
+ 1 аргументом (count) передается количество песен
45
+ ____
46
+ ## Как использовать модуль *rating_tracks_page*
47
+ ```
48
+ from pars_hitmotop.rating_tracks_page import RatingPage
49
+ result=RatingPage(10)
50
+ ```
51
+ 1 аргументом (count) передается количество страниц (max 11)
52
+ ____
53
+ # Что можно достать при запросе?
54
+ Все возвращается в виде list
55
+ | Метод | Описание |
56
+ |----------------|:---------|
57
+ | result.get_author | Получить автора трека|
58
+ |result.get_title| Получить название трека|
59
+ |result.get_url_down|Получить ссылку на скачивание трека|
60
+ |result.direct_download_link|Получить прямую ссылку на скачивание трека|
61
+ |result.get_duration|Получить продолжительность трека|
62
+ |result.get_picture_url|Получить ссылку на обложку трека|
63
+ |result.get_url_track|Получить ссылку трек|
64
+ |result.get_all|Получить все данные в виде словаря|
65
+ |result.get_author_title|Получить лист в виде автор - название|
66
+
67
+ ____
@@ -6,19 +6,19 @@
6
6
  4. [Как использовать модуль rating_tracks_page](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
7
7
  5. [Что можно достать при запросе?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-можно-достать-при-запросе)
8
8
  ____
9
- Этот проект парсит [музыкальный сайт](https://rur.hitmotop.com/)
9
+ Этот проект парсит [музыкальный сайт](https://hitmos.me/)
10
10
  ____
11
11
  # Что именно парсит?
12
- 1. [Рейтинговые треки](https://rur.hitmotop.com/songs/top-rated) от 1 до 48;
13
- 2. Тоже [рейтиновые треки](https://rur.hitmotop.com/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
14
- 3. Треки введеные пользователем. Парсит от 1 трека до конечной страницы (на одной старнице 48 треков)
12
+ 1. [Рейтинговые треки](https://hitmos.me/songs/top-rated) от 1 до 48;
13
+ 2. Тоже [рейтинговые треки](https://hitmos.me/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
14
+ 3. Треки введенные пользователем. Парсит от 1 трека до конечной страницы (на одной странице 48 треков)
15
15
  ____
16
16
  ## Как использовать модуль *entered_tracks*
17
17
  ```
18
18
  from pars_hitmotop.entered_tracks import EnteredTrack
19
19
  result=EnteredTrack('linkin park',10)
20
20
  ```
21
- 1 аргументом (musci_name) передается название пенси или автора. 2 Аргументом (count) передается количество треков
21
+ 1 аргументом (music_name) передается название песни или автора. 2 Аргументом (count) передается количество треков
22
22
  ____
23
23
  ## Как использовать модуль *rating_tracks_count*
24
24
  ```
@@ -35,16 +35,17 @@ result=RatingPage(10)
35
35
  1 аргументом (count) передается количество страниц (max 11)
36
36
  ____
37
37
  # Что можно достать при запросе?
38
- Все вовзращается в виде list
38
+ Все возвращается в виде list
39
39
  | Метод | Описание |
40
40
  |----------------|:---------|
41
41
  | result.get_author | Получить автора трека|
42
42
  |result.get_title| Получить название трека|
43
43
  |result.get_url_down|Получить ссылку на скачивание трека|
44
- |result.direct_download_link|Получть пряму ссылку на скачивание трека|
45
- |result.get_duraction|Получить продолжительность трека|
44
+ |result.direct_download_link|Получить прямую ссылку на скачивание трека|
45
+ |result.get_duration|Получить продолжительность трека|
46
46
  |result.get_picture_url|Получить ссылку на обложку трека|
47
47
  |result.get_url_track|Получить ссылку трек|
48
48
  |result.get_all|Получить все данные в виде словаря|
49
+ |result.get_author_title|Получить лист в виде автор - название|
49
50
 
50
51
  ____
@@ -1,27 +1,32 @@
1
1
  import fake_useragent, requests
2
2
  from bs4 import BeautifulSoup
3
- from .excepts import NoFoundTrack, MaxTrack
3
+ from .excepts import NoFoundTrack, MaxTrack, MusicName, AmountErr, RedirectErr
4
4
 
5
5
  class EnteredTrack:
6
6
  """
7
- Треки из запроса
7
+ Треки из запроса\n
8
8
  :param music_name: Название и автор трека в одной строке. - str
9
9
  :param amount: Количество треков, которое нужно вывести. Max 48. - int
10
- :param get_redirect_url: bool тип, True-получить прямую ссылку на скачивание трека, но увеличивает время время выполнения
10
+ :param get_redirect_url: bool тип, True-получить прямую ссылку на скачивание трека, но увеличивает время выполнения\n
11
11
  Для получения информации доступны след.функции:
12
12
  - get_author: list, автор трека;
13
13
  - get_title: list, название трека;
14
14
  - get_url_down: list, ссылка на скачивание трека;
15
15
  - direct_download_link: list прямая ссылка на скачивание трека;
16
- - get_duraction: list, длительность трека;
16
+ - get_duration: list, длительность трека;
17
17
  - get_picture_url: list, ссылка на обложку трека;
18
18
  - get_url_track: list, ссылка на трек.
19
19
 
20
20
  """
21
21
 
22
- def __init__(self, music_name:str, amount:int, get_redirect_url=False):
22
+
23
+ def __init__(self, music_name:str, amount: int, get_redirect_url=False):
24
+ if isinstance(music_name, str) is False: raise MusicName
25
+ if isinstance(amount, int) is False: raise AmountErr
26
+ if isinstance(get_redirect_url, bool) is False: raise RedirectErr
27
+
23
28
  self.music_name = music_name
24
- self.amount = amount
29
+ self.amount = int(amount)
25
30
  self.get_redirect_url = get_redirect_url
26
31
  self.get_info
27
32
 
@@ -54,13 +59,12 @@ class EnteredTrack:
54
59
  _track_duration = [i.text.strip() for i in _soup.find_all("div", class_="track__fulltime")]
55
60
  _track_pictures = [f"{i.get('style')[23:-3]}" for i in _soup.find_all("div", class_="track__img")]
56
61
  _track_urls_dow = [i.get('href') for i in _soup.find_all('a', class_='track__download-btn')]
57
- _track_url = [f"{_url}{tra_url.get('href')}" for tra_url in _soup.find_all('a', class_='track__info-l')]
62
+ _track_url = [f"{__url1}{tra_url.get('href')}" for tra_url in _soup.find_all('a', class_='track__info-l')]
58
63
 
59
64
  _items = []
60
- for idx in range(min(len(_track_titles), self.amount)):
65
+ for idx in range(len(_track_titles)):
61
66
  if self.get_redirect_url and len(_track_urls_dow[idx])>0:
62
67
  direct_download_link = requests.get(_track_urls_dow[idx],headers=__headers,allow_redirects=True).url
63
- print(f'Получил прямую ссылку: {direct_download_link}')
64
68
  else: direct_download_link = None
65
69
 
66
70
  item = {
@@ -79,30 +83,39 @@ class EnteredTrack:
79
83
  return self.data
80
84
 
81
85
  @property
82
- def get_author(self):
86
+ def get_author(self) -> list[str]:
83
87
  return [item['author'] for item in self.data['items']]
84
88
 
85
89
  @property
86
- def get_title(self):
90
+ def get_title(self) -> list[str]:
87
91
  return [item['title'] for item in self.data['items']]
88
92
 
89
93
  @property
90
- def get_url_down(self):
94
+ def get_url_down(self) -> list[str]:
91
95
  return [item['url_down'] for item in self.data['items']]
92
96
 
93
97
  @property
94
- def direct_download_link(self):
98
+ def direct_download_link(self) -> list[str]:
95
99
  return [item['direct_download_link'] for item in self.data['items']]
96
100
 
97
101
  @property
98
- def get_duraction(self):
102
+ def get_duration(self) -> list[str]:
99
103
  return [item['duration_track'] for item in self.data['items']]
100
104
 
101
105
  @property
102
- def get_picture_url(self):
106
+ def get_picture_url(self) -> list[str]:
103
107
  return [item['picture_url'] for item in self.data['items']]
104
108
 
105
109
  @property
106
- def get_url_track(self):
110
+ def get_url_track(self) -> list[str]:
107
111
  return [item['url_track'] for item in self.data['items']]
112
+
113
+ @property
114
+ def get_author_title(self) -> list[str]:
115
+ __author = self.get_author
116
+ __title = self.get_title
117
+ return [f'{__author[i]} - {__title[i]}' for i in range(self.count_tracks)]
118
+
119
+
120
+
108
121
 
@@ -0,0 +1,67 @@
1
+ class NoFoundTrack(Exception):
2
+
3
+ def __init__(self):
4
+ self.err = 'Nothing was found for your query'
5
+
6
+ def __str__(self):
7
+ return self.err
8
+
9
+ class MaxTrack(Exception):
10
+
11
+ def __init__(self):
12
+ self.err = 'The number of tracks should not exceed 48'
13
+
14
+ def __str__(self):
15
+ return self.err
16
+
17
+
18
+ class PageError(Exception):
19
+
20
+ def __init__(self):
21
+ self.err = 'Only <= 11'
22
+
23
+ def __str__(self):
24
+ return self.err
25
+
26
+
27
+
28
+ class MusicName(Exception):
29
+
30
+ def __init__(self):
31
+ self.err = 'The name of the music should only be str'
32
+
33
+ def __str__(self):
34
+ return self.err
35
+
36
+ class AmountErr(Exception):
37
+
38
+ def __init__(self):
39
+ self.err = 'The amount should only be int'
40
+
41
+ def __str__(self):
42
+ return self.err
43
+
44
+ class PageCount(Exception):
45
+
46
+ def __init__(self):
47
+ self.err = 'Page count only int'
48
+
49
+ def __str__(self):
50
+ return self.err
51
+
52
+
53
+ class CountTracksErr(Exception):
54
+
55
+ def __init__(self):
56
+ self.err = 'The count tracks should only be int'
57
+
58
+ def __str__(self):
59
+ return self.err
60
+
61
+ class RedirectErr(Exception):
62
+
63
+ def __init__(self):
64
+ self.err = 'Accepts only the bool type'
65
+
66
+ def __str__(self):
67
+ return self.err
@@ -1,23 +1,27 @@
1
1
  '''Рейтинговые треки'''
2
2
  import fake_useragent, requests
3
3
  from bs4 import BeautifulSoup
4
+ from .excepts import CountTracksErr, RedirectErr
4
5
 
5
6
  class RatingCount:
6
7
  '''
7
- Функция для получения списка рейтинговых треков с сайта rur.hitmotop.com.
8
+ Функция для получения списка рейтинговых треков с сайта hitmos.me.
8
9
  param: count - число от 1 до 48, кол-во треков
9
10
  \nДля получения информации доступны след.функции:
10
11
  - get_author: list, автор трека;
11
12
  - get_title: list, название трека;
12
13
  - get_url_down: list, ссылка на скачивание трека;
13
14
  - direct_download_link: list прямая ссылка на скачивание трека;
14
- - get_duraction: list, длительность трека;
15
+ - get_duration: list, длительность трека;
15
16
  - get_picture_url: list, ссылка на обложку трека;
16
17
  - get_url_track: list, ссылка на трек.
17
18
 
18
19
  '''
19
20
 
20
21
  def __init__(self, count_tracks, get_redirect_url=False):
22
+ if isinstance(count_tracks, int) is False: raise CountTracksErr
23
+ if isinstance(get_redirect_url, bool) is False: raise RedirectErr
24
+
21
25
  self.count_tracks = count_tracks
22
26
  self.get_redirect_url = get_redirect_url
23
27
  self.count_selection
@@ -48,7 +52,7 @@ param: count - число от 1 до 48, кол-во треков
48
52
 
49
53
  _items = []
50
54
 
51
- for idx in range(min(len(_track_titles), self.count_tracks)):
55
+ for idx in range(len(_track_titles)):
52
56
  if self.get_redirect_url and len(_track_urls_dow[idx])>0:
53
57
  direct_download_link = requests.get(_track_urls_dow[idx],headers=__headers,allow_redirects=True).url
54
58
  else: direct_download_link = None
@@ -82,7 +86,7 @@ param: count - число от 1 до 48, кол-во треков
82
86
  return [item['direct_download_link'] for item in self.data['items']]
83
87
 
84
88
  @property
85
- def get_duraction(self):
89
+ def get_duration(self):
86
90
  return [item['duration_track'] for item in self.data['items']]
87
91
 
88
92
  @property
@@ -92,3 +96,9 @@ param: count - число от 1 до 48, кол-во треков
92
96
  @property
93
97
  def get_url_track(self):
94
98
  return [item['url_track'] for item in self.data['items']]
99
+
100
+ @property
101
+ def get_author_title(self) -> list[str]:
102
+ __author = self.get_author
103
+ __title = self.get_title
104
+ return [f'{__author[i]} - {__title[i]}' for i in range(self.count_tracks)]
@@ -1,7 +1,8 @@
1
1
  '''Рейтинговые треки'''
2
2
  import fake_useragent, requests
3
3
  from bs4 import BeautifulSoup
4
- from .excepts import PageError
4
+ from typing import Union
5
+ from .excepts import PageError, RedirectErr, PageCount
5
6
 
6
7
  class RatingPage:
7
8
  '''
@@ -12,12 +13,14 @@ class RatingPage:
12
13
  - get_title: list, название трека;
13
14
  - get_url_down: list, ссылка на скачивание трека;
14
15
  - direct_download_link: list прямая ссылка на скачивание трека;
15
- - get_duraction: list, длительность трека;
16
+ - get_duration: list, длительность трека;
16
17
  - get_picture_url: list, ссылка на обложку трека;
17
18
  - get_url_track: list, ссылка на трек.
18
19
  '''
19
20
  def __init__(self, page_count:int, get_redirect_url=False):
20
- self.page_count = page_count
21
+ if isinstance(page_count, int) is False: raise PageCount
22
+ if isinstance(get_redirect_url, bool) is False: raise RedirectErr
23
+ self.page_count = int(page_count)
21
24
  self.get_redirect_url = get_redirect_url
22
25
  self.page_selection
23
26
 
@@ -125,7 +128,7 @@ class RatingPage:
125
128
  return [item['direct_download_link'] for item in self.data['items']]
126
129
 
127
130
  @property
128
- def get_duraction(self):
131
+ def get_duration(self):
129
132
  return [item['duration_track'] for item in self.data['items']]
130
133
 
131
134
  @property
@@ -139,5 +142,10 @@ class RatingPage:
139
142
  @property
140
143
  def get_all(self): return self.data
141
144
 
145
+ @property
146
+ def get_author_title(self) -> list[str]:
147
+ __author = self.get_author
148
+ __title = self.get_title
149
+ return [f'{__author[i]} - {__title[i]}' for i in range(self.count_tracks)]
142
150
 
143
151
 
@@ -0,0 +1,67 @@
1
+ Metadata-Version: 2.1
2
+ Name: pars-hitmotop
3
+ Version: 0.0.9
4
+ Home-page: https://github.com/PY079/pars_hitmotop
5
+ Download-URL: https://github.com/PY079/pars_hitmotop/arhive/v0.0.9.zip
6
+ Author: Joy_079
7
+ Author-email: Prufu@yandex.ru
8
+ Classifier: Programming Language :: Python
9
+ Classifier: Programming Language :: Python :: 3.7
10
+ Classifier: Programming Language :: Python :: 3.8
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
15
+ Description-Content-Type: text/markdown
16
+
17
+ # Оглавление
18
+ 0. [Оглавление](https://github.com/PY079/pars_hitmotop#оглавление)
19
+ 1. [Что именно парсит?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-именно-парсит)
20
+ 2. [Как использовать модуль entered_tracks](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-entered_tracks)
21
+ 3. [Как использовать модуль rating_tracks_count](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_count)
22
+ 4. [Как использовать модуль rating_tracks_page](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
23
+ 5. [Что можно достать при запросе?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-можно-достать-при-запросе)
24
+ ____
25
+ Этот проект парсит [музыкальный сайт](https://hitmos.me/)
26
+ ____
27
+ # Что именно парсит?
28
+ 1. [Рейтинговые треки](https://hitmos.me/songs/top-rated) от 1 до 48;
29
+ 2. Тоже [рейтинговые треки](https://hitmos.me/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
30
+ 3. Треки введенные пользователем. Парсит от 1 трека до конечной страницы (на одной странице 48 треков)
31
+ ____
32
+ ## Как использовать модуль *entered_tracks*
33
+ ```
34
+ from pars_hitmotop.entered_tracks import EnteredTrack
35
+ result=EnteredTrack('linkin park',10)
36
+ ```
37
+ 1 аргументом (music_name) передается название песни или автора. 2 Аргументом (count) передается количество треков
38
+ ____
39
+ ## Как использовать модуль *rating_tracks_count*
40
+ ```
41
+ from pars_hitmotop.rating_tracks_count import RatingCount
42
+ result=RatingCount(10)
43
+ ```
44
+ 1 аргументом (count) передается количество песен
45
+ ____
46
+ ## Как использовать модуль *rating_tracks_page*
47
+ ```
48
+ from pars_hitmotop.rating_tracks_page import RatingPage
49
+ result=RatingPage(10)
50
+ ```
51
+ 1 аргументом (count) передается количество страниц (max 11)
52
+ ____
53
+ # Что можно достать при запросе?
54
+ Все возвращается в виде list
55
+ | Метод | Описание |
56
+ |----------------|:---------|
57
+ | result.get_author | Получить автора трека|
58
+ |result.get_title| Получить название трека|
59
+ |result.get_url_down|Получить ссылку на скачивание трека|
60
+ |result.direct_download_link|Получить прямую ссылку на скачивание трека|
61
+ |result.get_duration|Получить продолжительность трека|
62
+ |result.get_picture_url|Получить ссылку на обложку трека|
63
+ |result.get_url_track|Получить ссылку трек|
64
+ |result.get_all|Получить все данные в виде словаря|
65
+ |result.get_author_title|Получить лист в виде автор - название|
66
+
67
+ ____
@@ -1,5 +1,4 @@
1
1
  README.md
2
- setup.cfg
3
2
  setup.py
4
3
  pars_hitmotop/__init__.py
5
4
  pars_hitmotop/entered_tracks.py
@@ -1,4 +1,4 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -1,6 +1,6 @@
1
1
  from setuptools import setup
2
2
 
3
- version='0.0.7'
3
+ version='0.0.9'
4
4
  with open('README.md', encoding='utf-8') as f:
5
5
  long_description=f.read()
6
6
 
@@ -22,6 +22,8 @@ setup(
22
22
  'Programming Language :: Python :: 3.7',
23
23
  'Programming Language :: Python :: 3.8',
24
24
  'Programming Language :: Python :: 3.9',
25
+ 'Programming Language :: Python :: 3.10',
26
+ 'Programming Language :: Python :: 3.11',
25
27
  'Programming Language :: Python :: Implementation :: PyPy'
26
28
  ]
27
29
  )
@@ -1,67 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: pars_hitmotop
3
- Version: 0.0.7
4
- Summary: UNKNOWN
5
- Home-page: https://github.com/PY079/pars_hitmotop
6
- Author: Joy_079
7
- Author-email: Prufu@yandex.ru
8
- License: UNKNOWN
9
- Download-URL: https://github.com/PY079/pars_hitmotop/arhive/v0.0.7.zip
10
- Description: # Оглавление
11
- 0. [Оглавление](https://github.com/PY079/pars_hitmotop#оглавление)
12
- 1. [Что именно парсит?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-именно-парсит)
13
- 2. [Как использовать модуль entered_tracks](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-entered_tracks)
14
- 3. [Как использовать модуль rating_tracks_count](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_count)
15
- 4. [Как использовать модуль rating_tracks_page](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
16
- 5. [Что можно достать при запросе?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-можно-достать-при-запросе)
17
- ____
18
- Этот проект парсит [музыкальный сайт](https://rur.hitmotop.com/)
19
- ____
20
- # Что именно парсит?
21
- 1. [Рейтинговые треки](https://rur.hitmotop.com/songs/top-rated) от 1 до 48;
22
- 2. Тоже [рейтиновые треки](https://rur.hitmotop.com/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
23
- 3. Треки введеные пользователем. Парсит от 1 трека до конечной страницы (на одной старнице 48 треков)
24
- ____
25
- ## Как использовать модуль *entered_tracks*
26
- ```
27
- from pars_hitmotop.entered_tracks import EnteredTrack
28
- result=EnteredTrack('linkin park',10)
29
- ```
30
- 1 аргументом (musci_name) передается название пенси или автора. 2 Аргументом (count) передается количество треков
31
- ____
32
- ## Как использовать модуль *rating_tracks_count*
33
- ```
34
- from pars_hitmotop.rating_tracks_count import RatingCount
35
- result=RatingCount(10)
36
- ```
37
- 1 аргументом (count) передается количество песен
38
- ____
39
- ## Как использовать модуль *rating_tracks_page*
40
- ```
41
- from pars_hitmotop.rating_tracks_page import RatingPage
42
- result=RatingPage(10)
43
- ```
44
- 1 аргументом (count) передается количество страниц (max 11)
45
- ____
46
- # Что можно достать при запросе?
47
- Все вовзращается в виде list
48
- | Метод | Описание |
49
- |----------------|:---------|
50
- | result.get_author | Получить автора трека|
51
- |result.get_title| Получить название трека|
52
- |result.get_url_down|Получить ссылку на скачивание трека|
53
- |result.direct_download_link|Получть пряму ссылку на скачивание трека|
54
- |result.get_duraction|Получить продолжительность трека|
55
- |result.get_picture_url|Получить ссылку на обложку трека|
56
- |result.get_url_track|Получить ссылку трек|
57
- |result.get_all|Получить все данные в виде словаря|
58
-
59
- ____
60
-
61
- Platform: UNKNOWN
62
- Classifier: Programming Language :: Python
63
- Classifier: Programming Language :: Python :: 3.7
64
- Classifier: Programming Language :: Python :: 3.8
65
- Classifier: Programming Language :: Python :: 3.9
66
- Classifier: Programming Language :: Python :: Implementation :: PyPy
67
- Description-Content-Type: text/markdown
@@ -1,24 +0,0 @@
1
- class NoFoundTrack(Exception):
2
-
3
- def __init__(self):
4
- self.err = 'Nothing was found for your query'
5
-
6
- def __str__(self):
7
- return self.err
8
-
9
- class MaxTrack(Exception):
10
-
11
- def __init__(self):
12
- self.err = 'The number of tracks should not exceed 48'
13
-
14
- def __str__(self):
15
- return self.err
16
-
17
-
18
- class PageError(Exception):
19
-
20
- def __init__(self):
21
- self.err = 'Only <= 11'
22
-
23
- def __str__(self):
24
- return self.err
@@ -1,67 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: pars-hitmotop
3
- Version: 0.0.7
4
- Summary: UNKNOWN
5
- Home-page: https://github.com/PY079/pars_hitmotop
6
- Author: Joy_079
7
- Author-email: Prufu@yandex.ru
8
- License: UNKNOWN
9
- Download-URL: https://github.com/PY079/pars_hitmotop/arhive/v0.0.7.zip
10
- Description: # Оглавление
11
- 0. [Оглавление](https://github.com/PY079/pars_hitmotop#оглавление)
12
- 1. [Что именно парсит?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-именно-парсит)
13
- 2. [Как использовать модуль entered_tracks](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-entered_tracks)
14
- 3. [Как использовать модуль rating_tracks_count](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_count)
15
- 4. [Как использовать модуль rating_tracks_page](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
16
- 5. [Что можно достать при запросе?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-можно-достать-при-запросе)
17
- ____
18
- Этот проект парсит [музыкальный сайт](https://rur.hitmotop.com/)
19
- ____
20
- # Что именно парсит?
21
- 1. [Рейтинговые треки](https://rur.hitmotop.com/songs/top-rated) от 1 до 48;
22
- 2. Тоже [рейтиновые треки](https://rur.hitmotop.com/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
23
- 3. Треки введеные пользователем. Парсит от 1 трека до конечной страницы (на одной старнице 48 треков)
24
- ____
25
- ## Как использовать модуль *entered_tracks*
26
- ```
27
- from pars_hitmotop.entered_tracks import EnteredTrack
28
- result=EnteredTrack('linkin park',10)
29
- ```
30
- 1 аргументом (musci_name) передается название пенси или автора. 2 Аргументом (count) передается количество треков
31
- ____
32
- ## Как использовать модуль *rating_tracks_count*
33
- ```
34
- from pars_hitmotop.rating_tracks_count import RatingCount
35
- result=RatingCount(10)
36
- ```
37
- 1 аргументом (count) передается количество песен
38
- ____
39
- ## Как использовать модуль *rating_tracks_page*
40
- ```
41
- from pars_hitmotop.rating_tracks_page import RatingPage
42
- result=RatingPage(10)
43
- ```
44
- 1 аргументом (count) передается количество страниц (max 11)
45
- ____
46
- # Что можно достать при запросе?
47
- Все вовзращается в виде list
48
- | Метод | Описание |
49
- |----------------|:---------|
50
- | result.get_author | Получить автора трека|
51
- |result.get_title| Получить название трека|
52
- |result.get_url_down|Получить ссылку на скачивание трека|
53
- |result.direct_download_link|Получть пряму ссылку на скачивание трека|
54
- |result.get_duraction|Получить продолжительность трека|
55
- |result.get_picture_url|Получить ссылку на обложку трека|
56
- |result.get_url_track|Получить ссылку трек|
57
- |result.get_all|Получить все данные в виде словаря|
58
-
59
- ____
60
-
61
- Platform: UNKNOWN
62
- Classifier: Programming Language :: Python
63
- Classifier: Programming Language :: Python :: 3.7
64
- Classifier: Programming Language :: Python :: 3.8
65
- Classifier: Programming Language :: Python :: 3.9
66
- Classifier: Programming Language :: Python :: Implementation :: PyPy
67
- Description-Content-Type: text/markdown