pars-hitmotop 0.0.6__tar.gz → 0.0.8__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,64 @@
1
+ Metadata-Version: 2.1
2
+ Name: pars_hitmotop
3
+ Version: 0.0.8
4
+ Home-page: https://github.com/PY079/pars_hitmotop
5
+ Download-URL: https://github.com/PY079/pars_hitmotop/arhive/v0.0.8.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 :: Implementation :: PyPy
13
+ Description-Content-Type: text/markdown
14
+
15
+ # Оглавление
16
+ 0. [Оглавление](https://github.com/PY079/pars_hitmotop#оглавление)
17
+ 1. [Что именно парсит?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-именно-парсит)
18
+ 2. [Как использовать модуль entered_tracks](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-entered_tracks)
19
+ 3. [Как использовать модуль rating_tracks_count](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_count)
20
+ 4. [Как использовать модуль rating_tracks_page](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
21
+ 5. [Что можно достать при запросе?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-можно-достать-при-запросе)
22
+ ____
23
+ Этот проект парсит [музыкальный сайт](https://rur.hitmotop.com/)
24
+ ____
25
+ # Что именно парсит?
26
+ 1. [Рейтинговые треки](https://rur.hitmotop.com/songs/top-rated) от 1 до 48;
27
+ 2. Тоже [рейтиновые треки](https://rur.hitmotop.com/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
28
+ 3. Треки введеные пользователем. Парсит от 1 трека до конечной страницы (на одной старнице 48 треков)
29
+ ____
30
+ ## Как использовать модуль *entered_tracks*
31
+ ```
32
+ from pars_hitmotop.entered_tracks import EnteredTrack
33
+ result=EnteredTrack('linkin park',10)
34
+ ```
35
+ 1 аргументом (musci_name) передается название пенси или автора. 2 Аргументом (count) передается количество треков
36
+ ____
37
+ ## Как использовать модуль *rating_tracks_count*
38
+ ```
39
+ from pars_hitmotop.rating_tracks_count import RatingCount
40
+ result=RatingCount(10)
41
+ ```
42
+ 1 аргументом (count) передается количество песен
43
+ ____
44
+ ## Как использовать модуль *rating_tracks_page*
45
+ ```
46
+ from pars_hitmotop.rating_tracks_page import RatingPage
47
+ result=RatingPage(10)
48
+ ```
49
+ 1 аргументом (count) передается количество страниц (max 11)
50
+ ____
51
+ # Что можно достать при запросе?
52
+ Все вовзращается в виде list
53
+ | Метод | Описание |
54
+ |----------------|:---------|
55
+ | result.get_author | Получить автора трека|
56
+ |result.get_title| Получить название трека|
57
+ |result.get_url_down|Получить ссылку на скачивание трека|
58
+ |result.direct_download_link|Получть пряму ссылку на скачивание трека|
59
+ |result.get_duraction|Получить продолжительность трека|
60
+ |result.get_picture_url|Получить ссылку на обложку трека|
61
+ |result.get_url_track|Получить ссылку трек|
62
+ |result.get_all|Получить все данные в виде словаря|
63
+
64
+ ____
@@ -34,9 +34,11 @@ class EnteredTrack:
34
34
  else:
35
35
  __user = fake_useragent.UserAgent().random
36
36
  __headers = {"user-agent": __user}
37
- __url1= requests.get('https://hitmos.me/', headers=__headers, allow_redirects=True).url
37
+ __url11= requests.get('https://hitmos.me/', headers=__headers, allow_redirects=True).url
38
+ __url1= __url11[:-1] if '/' in __url11[:-1] else __url11
38
39
 
39
- _url = f"{__url1}search?q={self.music_name}"
40
+ _url = f"{__url1}{'/' if '/' in __url1[:-1] else ''}search?q={self.music_name}"
41
+
40
42
  _response = requests.get(_url, headers=__headers)
41
43
  _soup = BeautifulSoup(_response.text, "html.parser")
42
44
 
@@ -52,7 +54,7 @@ class EnteredTrack:
52
54
  _track_duration = [i.text.strip() for i in _soup.find_all("div", class_="track__fulltime")]
53
55
  _track_pictures = [f"{i.get('style')[23:-3]}" for i in _soup.find_all("div", class_="track__img")]
54
56
  _track_urls_dow = [i.get('href') for i in _soup.find_all('a', class_='track__download-btn')]
55
- _track_url = [f"{_url}{tra_url.get('href')}" for tra_url in _soup.find_all('a', class_='track__info-l')]
57
+ _track_url = [f"{__url1}{tra_url.get('href')}" for tra_url in _soup.find_all('a', class_='track__info-l')]
56
58
 
57
59
  _items = []
58
60
  for idx in range(min(len(_track_titles), self.amount)):
@@ -31,10 +31,11 @@ param: count - число от 1 до 48, кол-во треков
31
31
 
32
32
  __user = fake_useragent.UserAgent().random
33
33
  __headers = {'user-agent': __user}
34
- __url1= requests.get('https://hitmos.me/', headers=__headers, allow_redirects=True).url
35
-
34
+ __url11= requests.get('https://hitmos.me/', headers=__headers, allow_redirects=True).url
35
+ __url1= __url11[:-1] if '/' in __url11[-1] else __url11
36
36
 
37
- url = f'{__url1}songs/top-rated'
37
+ url = f"{__url1}{'/' if '/' in __url1[:-1] else ''}songs/top-rated"
38
+
38
39
  response = requests.get(url, headers=__headers)
39
40
  _soup = BeautifulSoup(response.text, 'html.parser')
40
41
 
@@ -30,12 +30,12 @@ class RatingPage:
30
30
 
31
31
  __user = fake_useragent.UserAgent().random
32
32
  __headers = {'user-agent': __user}
33
- __url1= requests.get('https://hitmos.me/', headers=__headers, allow_redirects=True).url
33
+ __url11= requests.get('https://hitmos.me/', headers=__headers, allow_redirects=True).url
34
+ __url1 = __url11[:-1] if '/' in __url11[-1] else __url11
34
35
 
35
- _url = f"{__url1}search?q={self.music_name}"
36
36
  if self.page_count == 1:
37
37
  __list = []
38
- url = f'{_url}songs/top-rated'
38
+ url = f"{__url1}{'/' if '/' in __url1[:-1] else ''}songs/top-rated"
39
39
  response = requests.get(url, headers=__headers)
40
40
  _soup = BeautifulSoup(response.text, 'html.parser')
41
41
 
@@ -44,7 +44,7 @@ class RatingPage:
44
44
  _track_duration = [i.text.strip() for i in _soup.find_all("div", class_="track__fulltime")]
45
45
  _track_pictures = [f"{i.get('style')[23:-3]}" for i in _soup.find_all("div", class_="track__img")]
46
46
  _track_urls_dow = [i.get('href') for i in _soup.find_all('a', class_='track__download-btn')]
47
- _track_url = [f"{_url}{tra_url.get('href')}" for tra_url in _soup.find_all('a', class_='track__info-l')]
47
+ _track_url = [f"{__url1}{tra_url.get('href')}" for tra_url in _soup.find_all('a', class_='track__info-l')]
48
48
 
49
49
  for idx in range(min(len(_track_titles), 48)):
50
50
  if self.get_redirect_url and len(_track_urls_dow[idx])>0:
@@ -72,7 +72,7 @@ class RatingPage:
72
72
 
73
73
  __list = []
74
74
 
75
- url = f'{_url}top-rated/start/'
75
+ url = f"{__url1}{'/' if '/' in __url1[:-1] else ''}songs/top-rated/start/"
76
76
 
77
77
  items = []
78
78
  for page in range(0, self.page_count, 48):
@@ -80,13 +80,13 @@ class RatingPage:
80
80
  response = requests.get(f'{url}{page}', headers=__headers)
81
81
  soup = BeautifulSoup(response.text, 'lxml')
82
82
 
83
+
83
84
  track_titles = [i.text.strip() for i in soup.find_all("div", class_="track__title")]
84
85
  track_artists = [i.text.strip() for i in soup.find_all("div", class_="track__desc")]
85
86
  track_duration = [i.text.strip() for i in soup.find_all("div", class_="track__fulltime")]
86
- track_pictures = [f"{_url}{i.get('style')[23:-3]}" for i in soup.find_all("div", class_="track__img")]
87
+ track_pictures = [f"{__url1}{i.get('style')[23:-3]}" for i in soup.find_all("div", class_="track__img")]
87
88
  track_urls_dow = [f"{track_dow_url.get('href')}" for track_dow_url in soup.find_all('a', class_='track__download-btn')]
88
- track_url = [f"{_url}{tra_url.get('href')}" for tra_url in soup.find_all('a', class_='track__info-l')]
89
-
89
+ track_url = [f"{__url1}{tra_url.get('href')}" for tra_url in soup.find_all('a', class_='track__info-l')]
90
90
 
91
91
 
92
92
  for idx in range(min(len(track_titles), 48)):
@@ -0,0 +1,64 @@
1
+ Metadata-Version: 2.1
2
+ Name: pars-hitmotop
3
+ Version: 0.0.8
4
+ Home-page: https://github.com/PY079/pars_hitmotop
5
+ Download-URL: https://github.com/PY079/pars_hitmotop/arhive/v0.0.8.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 :: Implementation :: PyPy
13
+ Description-Content-Type: text/markdown
14
+
15
+ # Оглавление
16
+ 0. [Оглавление](https://github.com/PY079/pars_hitmotop#оглавление)
17
+ 1. [Что именно парсит?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-именно-парсит)
18
+ 2. [Как использовать модуль entered_tracks](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-entered_tracks)
19
+ 3. [Как использовать модуль rating_tracks_count](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_count)
20
+ 4. [Как использовать модуль rating_tracks_page](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
21
+ 5. [Что можно достать при запросе?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-можно-достать-при-запросе)
22
+ ____
23
+ Этот проект парсит [музыкальный сайт](https://rur.hitmotop.com/)
24
+ ____
25
+ # Что именно парсит?
26
+ 1. [Рейтинговые треки](https://rur.hitmotop.com/songs/top-rated) от 1 до 48;
27
+ 2. Тоже [рейтиновые треки](https://rur.hitmotop.com/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
28
+ 3. Треки введеные пользователем. Парсит от 1 трека до конечной страницы (на одной старнице 48 треков)
29
+ ____
30
+ ## Как использовать модуль *entered_tracks*
31
+ ```
32
+ from pars_hitmotop.entered_tracks import EnteredTrack
33
+ result=EnteredTrack('linkin park',10)
34
+ ```
35
+ 1 аргументом (musci_name) передается название пенси или автора. 2 Аргументом (count) передается количество треков
36
+ ____
37
+ ## Как использовать модуль *rating_tracks_count*
38
+ ```
39
+ from pars_hitmotop.rating_tracks_count import RatingCount
40
+ result=RatingCount(10)
41
+ ```
42
+ 1 аргументом (count) передается количество песен
43
+ ____
44
+ ## Как использовать модуль *rating_tracks_page*
45
+ ```
46
+ from pars_hitmotop.rating_tracks_page import RatingPage
47
+ result=RatingPage(10)
48
+ ```
49
+ 1 аргументом (count) передается количество страниц (max 11)
50
+ ____
51
+ # Что можно достать при запросе?
52
+ Все вовзращается в виде list
53
+ | Метод | Описание |
54
+ |----------------|:---------|
55
+ | result.get_author | Получить автора трека|
56
+ |result.get_title| Получить название трека|
57
+ |result.get_url_down|Получить ссылку на скачивание трека|
58
+ |result.direct_download_link|Получть пряму ссылку на скачивание трека|
59
+ |result.get_duraction|Получить продолжительность трека|
60
+ |result.get_picture_url|Получить ссылку на обложку трека|
61
+ |result.get_url_track|Получить ссылку трек|
62
+ |result.get_all|Получить все данные в виде словаря|
63
+
64
+ ____
@@ -1,6 +1,6 @@
1
1
  from setuptools import setup
2
2
 
3
- version='0.0.6'
3
+ version='0.0.8'
4
4
  with open('README.md', encoding='utf-8') as f:
5
5
  long_description=f.read()
6
6
 
@@ -1,67 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: pars_hitmotop
3
- Version: 0.0.6
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.6.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,67 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: pars-hitmotop
3
- Version: 0.0.6
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.6.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
File without changes
File without changes