pars-hitmotop 0.0.8__tar.gz → 0.1.0__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.
- pars-hitmotop-0.1.0/PKG-INFO +65 -0
- pars-hitmotop-0.1.0/README.md +58 -0
- pars-hitmotop-0.1.0/pars_hitmotop.egg-info/PKG-INFO +65 -0
- pars-hitmotop-0.1.0/pars_hitmotop.egg-info/SOURCES.txt +7 -0
- pars-hitmotop-0.1.0/pars_hitmotop.egg-info/requires.txt +1 -0
- pars-hitmotop-0.1.0/pars_hitmotop.egg-info/top_level.txt +1 -0
- {pars_hitmotop-0.0.8 → pars-hitmotop-0.1.0}/setup.cfg +4 -4
- pars-hitmotop-0.1.0/setup.py +23 -0
- pars_hitmotop-0.0.8/PKG-INFO +0 -64
- pars_hitmotop-0.0.8/README.md +0 -50
- pars_hitmotop-0.0.8/pars_hitmotop/__init__.py +0 -6
- pars_hitmotop-0.0.8/pars_hitmotop/entered_tracks.py +0 -108
- pars_hitmotop-0.0.8/pars_hitmotop/excepts.py +0 -24
- pars_hitmotop-0.0.8/pars_hitmotop/how_to_use.py +0 -58
- pars_hitmotop-0.0.8/pars_hitmotop/rating_tracks_count.py +0 -94
- pars_hitmotop-0.0.8/pars_hitmotop/rating_tracks_page.py +0 -143
- pars_hitmotop-0.0.8/pars_hitmotop.egg-info/PKG-INFO +0 -64
- pars_hitmotop-0.0.8/pars_hitmotop.egg-info/SOURCES.txt +0 -14
- pars_hitmotop-0.0.8/pars_hitmotop.egg-info/requires.txt +0 -5
- pars_hitmotop-0.0.8/pars_hitmotop.egg-info/top_level.txt +0 -1
- pars_hitmotop-0.0.8/setup.py +0 -27
- {pars_hitmotop-0.0.8 → pars-hitmotop-0.1.0}/pars_hitmotop.egg-info/dependency_links.txt +0 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
Metadata-Version: 2.1
|
2
|
+
Name: pars-hitmotop
|
3
|
+
Version: 0.1.0
|
4
|
+
Summary: pars-hitmotop is now pars-hitmos
|
5
|
+
Classifier: Development Status :: 7 - Inactive
|
6
|
+
Description-Content-Type: text/markdown
|
7
|
+
|
8
|
+
# pars-hitmontop теперь называется pars-hitmos
|
9
|
+
|
10
|
+
Этот пакет был переименован. Вместо этого используйте `pip install pars-hitmos`.
|
11
|
+
|
12
|
+
Новый пакет: https://pypi.org/project/pars-hitmos/
|
13
|
+
|
14
|
+
|
15
|
+
# Оглавление
|
16
|
+
0. [Оглавление](https://github.com/JoyHubN/pars_hitmos#оглавление)
|
17
|
+
1. [Что именно парсит?](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#что-именно-парсит)
|
18
|
+
2. [Как использовать модуль entered_tracks](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#как-использовать-модуль-entered_tracks)
|
19
|
+
3. [Как использовать модуль rating_tracks_count](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#как-использовать-модуль-rating_tracks_count)
|
20
|
+
4. [Как использовать модуль rating_tracks_page](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
|
21
|
+
5. [Что можно достать при запросе?](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#что-можно-достать-при-запросе)
|
22
|
+
____
|
23
|
+
Этот проект парсит [музыкальный сайт](https://hitmos.me/)
|
24
|
+
____
|
25
|
+
# Что именно парсит?
|
26
|
+
1. [Рейтинговые треки](https://hitmos.me/songs/top-rated) от 1 до 48;
|
27
|
+
2. Тоже [рейтинговые треки](https://hitmos.me/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
|
28
|
+
3. Треки введенные пользователем. Парсит от 1 трека до конечной страницы (на одной странице 48 треков)
|
29
|
+
____
|
30
|
+
## Как использовать модуль *entered_tracks*
|
31
|
+
```
|
32
|
+
from pars_hitmos.entered_tracks import EnteredTrack
|
33
|
+
result=EnteredTrack('linkin park',10)
|
34
|
+
```
|
35
|
+
1 аргументом (music_name) передается название песни или автора. 2 Аргументом (count) передается количество треков
|
36
|
+
____
|
37
|
+
## Как использовать модуль *rating_tracks_count*
|
38
|
+
```
|
39
|
+
from pars_hitmos.rating_tracks_count import RatingCount
|
40
|
+
result=RatingCount(10)
|
41
|
+
```
|
42
|
+
1 аргументом (count) передается количество песен
|
43
|
+
____
|
44
|
+
## Как использовать модуль *rating_tracks_page*
|
45
|
+
```
|
46
|
+
from pars_hitmos.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_duration|Получить продолжительность трека|
|
60
|
+
|result.get_picture_url|Получить ссылку на обложку трека|
|
61
|
+
|result.get_url_track|Получить ссылку трек|
|
62
|
+
|result.get_all|Получить все данные в виде словаря|
|
63
|
+
|result.get_author_title|Получить лист в виде автор - название|
|
64
|
+
|
65
|
+
____
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# pars-hitmontop теперь называется pars-hitmos
|
2
|
+
|
3
|
+
Этот пакет был переименован. Вместо этого используйте `pip install pars-hitmos`.
|
4
|
+
|
5
|
+
Новый пакет: https://pypi.org/project/pars-hitmos/
|
6
|
+
|
7
|
+
|
8
|
+
# Оглавление
|
9
|
+
0. [Оглавление](https://github.com/JoyHubN/pars_hitmos#оглавление)
|
10
|
+
1. [Что именно парсит?](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#что-именно-парсит)
|
11
|
+
2. [Как использовать модуль entered_tracks](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#как-использовать-модуль-entered_tracks)
|
12
|
+
3. [Как использовать модуль rating_tracks_count](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#как-использовать-модуль-rating_tracks_count)
|
13
|
+
4. [Как использовать модуль rating_tracks_page](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
|
14
|
+
5. [Что можно достать при запросе?](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#что-можно-достать-при-запросе)
|
15
|
+
____
|
16
|
+
Этот проект парсит [музыкальный сайт](https://hitmos.me/)
|
17
|
+
____
|
18
|
+
# Что именно парсит?
|
19
|
+
1. [Рейтинговые треки](https://hitmos.me/songs/top-rated) от 1 до 48;
|
20
|
+
2. Тоже [рейтинговые треки](https://hitmos.me/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
|
21
|
+
3. Треки введенные пользователем. Парсит от 1 трека до конечной страницы (на одной странице 48 треков)
|
22
|
+
____
|
23
|
+
## Как использовать модуль *entered_tracks*
|
24
|
+
```
|
25
|
+
from pars_hitmos.entered_tracks import EnteredTrack
|
26
|
+
result=EnteredTrack('linkin park',10)
|
27
|
+
```
|
28
|
+
1 аргументом (music_name) передается название песни или автора. 2 Аргументом (count) передается количество треков
|
29
|
+
____
|
30
|
+
## Как использовать модуль *rating_tracks_count*
|
31
|
+
```
|
32
|
+
from pars_hitmos.rating_tracks_count import RatingCount
|
33
|
+
result=RatingCount(10)
|
34
|
+
```
|
35
|
+
1 аргументом (count) передается количество песен
|
36
|
+
____
|
37
|
+
## Как использовать модуль *rating_tracks_page*
|
38
|
+
```
|
39
|
+
from pars_hitmos.rating_tracks_page import RatingPage
|
40
|
+
result=RatingPage(10)
|
41
|
+
```
|
42
|
+
1 аргументом (count) передается количество страниц (max 11)
|
43
|
+
____
|
44
|
+
# Что можно достать при запросе?
|
45
|
+
Все возвращается в виде list
|
46
|
+
| Метод | Описание |
|
47
|
+
|----------------|:---------|
|
48
|
+
| result.get_author | Получить автора трека|
|
49
|
+
|result.get_title| Получить название трека|
|
50
|
+
|result.get_url_down|Получить ссылку на скачивание трека|
|
51
|
+
|result.direct_download_link|Получить прямую ссылку на скачивание трека|
|
52
|
+
|result.get_duration|Получить продолжительность трека|
|
53
|
+
|result.get_picture_url|Получить ссылку на обложку трека|
|
54
|
+
|result.get_url_track|Получить ссылку трек|
|
55
|
+
|result.get_all|Получить все данные в виде словаря|
|
56
|
+
|result.get_author_title|Получить лист в виде автор - название|
|
57
|
+
|
58
|
+
____
|
@@ -0,0 +1,65 @@
|
|
1
|
+
Metadata-Version: 2.1
|
2
|
+
Name: pars-hitmotop
|
3
|
+
Version: 0.1.0
|
4
|
+
Summary: pars-hitmotop is now pars-hitmos
|
5
|
+
Classifier: Development Status :: 7 - Inactive
|
6
|
+
Description-Content-Type: text/markdown
|
7
|
+
|
8
|
+
# pars-hitmontop теперь называется pars-hitmos
|
9
|
+
|
10
|
+
Этот пакет был переименован. Вместо этого используйте `pip install pars-hitmos`.
|
11
|
+
|
12
|
+
Новый пакет: https://pypi.org/project/pars-hitmos/
|
13
|
+
|
14
|
+
|
15
|
+
# Оглавление
|
16
|
+
0. [Оглавление](https://github.com/JoyHubN/pars_hitmos#оглавление)
|
17
|
+
1. [Что именно парсит?](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#что-именно-парсит)
|
18
|
+
2. [Как использовать модуль entered_tracks](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#как-использовать-модуль-entered_tracks)
|
19
|
+
3. [Как использовать модуль rating_tracks_count](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#как-использовать-модуль-rating_tracks_count)
|
20
|
+
4. [Как использовать модуль rating_tracks_page](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
|
21
|
+
5. [Что можно достать при запросе?](https://github.com/JoyHubN/pars_hitmos/blob/main/README.md#что-можно-достать-при-запросе)
|
22
|
+
____
|
23
|
+
Этот проект парсит [музыкальный сайт](https://hitmos.me/)
|
24
|
+
____
|
25
|
+
# Что именно парсит?
|
26
|
+
1. [Рейтинговые треки](https://hitmos.me/songs/top-rated) от 1 до 48;
|
27
|
+
2. Тоже [рейтинговые треки](https://hitmos.me/songs/top-rated) но можно выбрать количество страниц, с которых будет произведен парсинг;
|
28
|
+
3. Треки введенные пользователем. Парсит от 1 трека до конечной страницы (на одной странице 48 треков)
|
29
|
+
____
|
30
|
+
## Как использовать модуль *entered_tracks*
|
31
|
+
```
|
32
|
+
from pars_hitmos.entered_tracks import EnteredTrack
|
33
|
+
result=EnteredTrack('linkin park',10)
|
34
|
+
```
|
35
|
+
1 аргументом (music_name) передается название песни или автора. 2 Аргументом (count) передается количество треков
|
36
|
+
____
|
37
|
+
## Как использовать модуль *rating_tracks_count*
|
38
|
+
```
|
39
|
+
from pars_hitmos.rating_tracks_count import RatingCount
|
40
|
+
result=RatingCount(10)
|
41
|
+
```
|
42
|
+
1 аргументом (count) передается количество песен
|
43
|
+
____
|
44
|
+
## Как использовать модуль *rating_tracks_page*
|
45
|
+
```
|
46
|
+
from pars_hitmos.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_duration|Получить продолжительность трека|
|
60
|
+
|result.get_picture_url|Получить ссылку на обложку трека|
|
61
|
+
|result.get_url_track|Получить ссылку трек|
|
62
|
+
|result.get_all|Получить все данные в виде словаря|
|
63
|
+
|result.get_author_title|Получить лист в виде автор - название|
|
64
|
+
|
65
|
+
____
|
@@ -0,0 +1 @@
|
|
1
|
+
pars-hitmos
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -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
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from setuptools import setup
|
2
|
+
import os
|
3
|
+
|
4
|
+
VERSION = "0.1.0"
|
5
|
+
|
6
|
+
|
7
|
+
def get_long_description():
|
8
|
+
with open(
|
9
|
+
os.path.join(os.path.dirname(os.path.abspath(__file__)), "README.md"),
|
10
|
+
encoding="utf8",
|
11
|
+
) as fp:
|
12
|
+
return fp.read()
|
13
|
+
|
14
|
+
|
15
|
+
setup(
|
16
|
+
name="pars-hitmotop",
|
17
|
+
description="pars-hitmotop is now pars-hitmos",
|
18
|
+
long_description=get_long_description(),
|
19
|
+
long_description_content_type="text/markdown",
|
20
|
+
version=VERSION,
|
21
|
+
install_requires=["pars-hitmos"],
|
22
|
+
classifiers=["Development Status :: 7 - Inactive"],
|
23
|
+
)
|
pars_hitmotop-0.0.8/PKG-INFO
DELETED
@@ -1,64 +0,0 @@
|
|
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
|
-
____
|
pars_hitmotop-0.0.8/README.md
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
# Оглавление
|
2
|
-
0. [Оглавление](https://github.com/PY079/pars_hitmotop#оглавление)
|
3
|
-
1. [Что именно парсит?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-именно-парсит)
|
4
|
-
2. [Как использовать модуль entered_tracks](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-entered_tracks)
|
5
|
-
3. [Как использовать модуль rating_tracks_count](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_count)
|
6
|
-
4. [Как использовать модуль rating_tracks_page](https://github.com/PY079/pars_hitmotop/blob/main/README.md#как-использовать-модуль-rating_tracks_page)
|
7
|
-
5. [Что можно достать при запросе?](https://github.com/PY079/pars_hitmotop/blob/main/README.md#что-можно-достать-при-запросе)
|
8
|
-
____
|
9
|
-
Этот проект парсит [музыкальный сайт](https://rur.hitmotop.com/)
|
10
|
-
____
|
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 треков)
|
15
|
-
____
|
16
|
-
## Как использовать модуль *entered_tracks*
|
17
|
-
```
|
18
|
-
from pars_hitmotop.entered_tracks import EnteredTrack
|
19
|
-
result=EnteredTrack('linkin park',10)
|
20
|
-
```
|
21
|
-
1 аргументом (musci_name) передается название пенси или автора. 2 Аргументом (count) передается количество треков
|
22
|
-
____
|
23
|
-
## Как использовать модуль *rating_tracks_count*
|
24
|
-
```
|
25
|
-
from pars_hitmotop.rating_tracks_count import RatingCount
|
26
|
-
result=RatingCount(10)
|
27
|
-
```
|
28
|
-
1 аргументом (count) передается количество песен
|
29
|
-
____
|
30
|
-
## Как использовать модуль *rating_tracks_page*
|
31
|
-
```
|
32
|
-
from pars_hitmotop.rating_tracks_page import RatingPage
|
33
|
-
result=RatingPage(10)
|
34
|
-
```
|
35
|
-
1 аргументом (count) передается количество страниц (max 11)
|
36
|
-
____
|
37
|
-
# Что можно достать при запросе?
|
38
|
-
Все вовзращается в виде list
|
39
|
-
| Метод | Описание |
|
40
|
-
|----------------|:---------|
|
41
|
-
| result.get_author | Получить автора трека|
|
42
|
-
|result.get_title| Получить название трека|
|
43
|
-
|result.get_url_down|Получить ссылку на скачивание трека|
|
44
|
-
|result.direct_download_link|Получть пряму ссылку на скачивание трека|
|
45
|
-
|result.get_duraction|Получить продолжительность трека|
|
46
|
-
|result.get_picture_url|Получить ссылку на обложку трека|
|
47
|
-
|result.get_url_track|Получить ссылку трек|
|
48
|
-
|result.get_all|Получить все данные в виде словаря|
|
49
|
-
|
50
|
-
____
|
@@ -1,108 +0,0 @@
|
|
1
|
-
import fake_useragent, requests
|
2
|
-
from bs4 import BeautifulSoup
|
3
|
-
from .excepts import NoFoundTrack, MaxTrack
|
4
|
-
|
5
|
-
class EnteredTrack:
|
6
|
-
"""
|
7
|
-
Треки из запроса
|
8
|
-
:param music_name: Название и автор трека в одной строке. - str
|
9
|
-
:param amount: Количество треков, которое нужно вывести. Max 48. - int
|
10
|
-
:param get_redirect_url: bool тип, True-получить прямую ссылку на скачивание трека, но увеличивает время время выполнения
|
11
|
-
Для получения информации доступны след.функции:
|
12
|
-
- get_author: list, автор трека;
|
13
|
-
- get_title: list, название трека;
|
14
|
-
- get_url_down: list, ссылка на скачивание трека;
|
15
|
-
- direct_download_link: list прямая ссылка на скачивание трека;
|
16
|
-
- get_duraction: list, длительность трека;
|
17
|
-
- get_picture_url: list, ссылка на обложку трека;
|
18
|
-
- get_url_track: list, ссылка на трек.
|
19
|
-
|
20
|
-
"""
|
21
|
-
|
22
|
-
def __init__(self, music_name:str, amount:int, get_redirect_url=False):
|
23
|
-
self.music_name = music_name
|
24
|
-
self.amount = amount
|
25
|
-
self.get_redirect_url = get_redirect_url
|
26
|
-
self.get_info
|
27
|
-
|
28
|
-
|
29
|
-
@property
|
30
|
-
def get_info(self):
|
31
|
-
|
32
|
-
if self.amount > 48:
|
33
|
-
raise MaxTrack
|
34
|
-
else:
|
35
|
-
__user = fake_useragent.UserAgent().random
|
36
|
-
__headers = {"user-agent": __user}
|
37
|
-
__url11= requests.get('https://hitmos.me/', headers=__headers, allow_redirects=True).url
|
38
|
-
__url1= __url11[:-1] if '/' in __url11[:-1] else __url11
|
39
|
-
|
40
|
-
_url = f"{__url1}{'/' if '/' in __url1[:-1] else ''}search?q={self.music_name}"
|
41
|
-
|
42
|
-
_response = requests.get(_url, headers=__headers)
|
43
|
-
_soup = BeautifulSoup(_response.text, "html.parser")
|
44
|
-
|
45
|
-
|
46
|
-
if _soup.find('h2',class_='tracks__title content-item-title'):
|
47
|
-
raise NoFoundTrack
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
# получаем информацию о треках
|
52
|
-
_track_titles = [i.text.strip() for i in _soup.find_all("div", class_="track__title")]
|
53
|
-
_track_artists = [i.text.strip() for i in _soup.find_all("div", class_="track__desc")]
|
54
|
-
_track_duration = [i.text.strip() for i in _soup.find_all("div", class_="track__fulltime")]
|
55
|
-
_track_pictures = [f"{i.get('style')[23:-3]}" for i in _soup.find_all("div", class_="track__img")]
|
56
|
-
_track_urls_dow = [i.get('href') for i in _soup.find_all('a', class_='track__download-btn')]
|
57
|
-
_track_url = [f"{__url1}{tra_url.get('href')}" for tra_url in _soup.find_all('a', class_='track__info-l')]
|
58
|
-
|
59
|
-
_items = []
|
60
|
-
for idx in range(min(len(_track_titles), self.amount)):
|
61
|
-
if self.get_redirect_url and len(_track_urls_dow[idx])>0:
|
62
|
-
direct_download_link = requests.get(_track_urls_dow[idx],headers=__headers,allow_redirects=True).url
|
63
|
-
print(f'Получил прямую ссылку: {direct_download_link}')
|
64
|
-
else: direct_download_link = None
|
65
|
-
|
66
|
-
item = {
|
67
|
-
'author': _track_artists[idx],
|
68
|
-
'title': _track_titles[idx].replace('/','').replace(':','').replace('*','').replace('?','').replace('"','').replace('<','').replace('>','').replace('|','').replace('\\',''),
|
69
|
-
'url_down': _track_urls_dow[idx],
|
70
|
-
'direct_download_link': direct_download_link,
|
71
|
-
'duration_track': _track_duration[idx],
|
72
|
-
'picture_url': _track_pictures[idx],
|
73
|
-
'url_track': _track_url[idx]
|
74
|
-
}
|
75
|
-
_items.append(item)
|
76
|
-
|
77
|
-
self.count_tracks = len(_items)
|
78
|
-
self.data = {"items": _items}
|
79
|
-
return self.data
|
80
|
-
|
81
|
-
@property
|
82
|
-
def get_author(self):
|
83
|
-
return [item['author'] for item in self.data['items']]
|
84
|
-
|
85
|
-
@property
|
86
|
-
def get_title(self):
|
87
|
-
return [item['title'] for item in self.data['items']]
|
88
|
-
|
89
|
-
@property
|
90
|
-
def get_url_down(self):
|
91
|
-
return [item['url_down'] for item in self.data['items']]
|
92
|
-
|
93
|
-
@property
|
94
|
-
def direct_download_link(self):
|
95
|
-
return [item['direct_download_link'] for item in self.data['items']]
|
96
|
-
|
97
|
-
@property
|
98
|
-
def get_duraction(self):
|
99
|
-
return [item['duration_track'] for item in self.data['items']]
|
100
|
-
|
101
|
-
@property
|
102
|
-
def get_picture_url(self):
|
103
|
-
return [item['picture_url'] for item in self.data['items']]
|
104
|
-
|
105
|
-
@property
|
106
|
-
def get_url_track(self):
|
107
|
-
return [item['url_track'] for item in self.data['items']]
|
108
|
-
|
@@ -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,58 +0,0 @@
|
|
1
|
-
from .entered_tracks import EnteredTrack
|
2
|
-
import urllib.request, os
|
3
|
-
from colorama import Fore, Style, init
|
4
|
-
os.system('cls')
|
5
|
-
init()
|
6
|
-
|
7
|
-
path=r'C:\Users\днс\python_project\pars_hitmotop\music'
|
8
|
-
result=EnteredTrack('linkin park',10)
|
9
|
-
|
10
|
-
|
11
|
-
# Получить количество треков
|
12
|
-
amout = result.count_tracks
|
13
|
-
|
14
|
-
# Получить автора треков
|
15
|
-
author = result.get_author
|
16
|
-
|
17
|
-
# Получить названия треков
|
18
|
-
title = result.get_title
|
19
|
-
|
20
|
-
# Получить ссылки на скачивания треков
|
21
|
-
url_down= result.get_url_down
|
22
|
-
|
23
|
-
# Получить прямую ссылку на скачивание треков
|
24
|
-
url_down_new= result.direct_download_link
|
25
|
-
|
26
|
-
# Получить длителькость треков
|
27
|
-
duraction = result.get_duraction
|
28
|
-
|
29
|
-
# Получить обложки треков
|
30
|
-
picture = result.get_picture_url
|
31
|
-
|
32
|
-
# Получить ссылки на треки
|
33
|
-
url_tracks = result.get_url_track
|
34
|
-
|
35
|
-
# Скачать найденные треки треки
|
36
|
-
def down_music(path,result):
|
37
|
-
for _ in range(result.count_tracks):
|
38
|
-
print(f'Скачиваю по ссылке: {result.direct_download_link[_]}')
|
39
|
-
if result.direct_download_link[_] != None:
|
40
|
-
urllib.request.urlretrieve(result.direct_download_link[_],f"{path}\{result.get_title[_]}.mp3")
|
41
|
-
else:
|
42
|
-
print(result.get_title[_])
|
43
|
-
print(f'Скачиваю hitmotop\n{result.get_url_down[_]}')
|
44
|
-
urllib.request.urlretrieve(result.get_url_down[_],f"{path}\{result.get_title[_]}.mp3")
|
45
|
-
|
46
|
-
|
47
|
-
print(f'{Fore.BLUE+Style.BRIGHT}1 запрос {result.music_name}{Style.RESET_ALL}\n')
|
48
|
-
for _ in range(result.count_tracks):
|
49
|
-
print(f"{author} - {title} {duraction}")
|
50
|
-
down_music(path, result)
|
51
|
-
|
52
|
-
|
53
|
-
result = EnteredTrack('green day', 10)
|
54
|
-
|
55
|
-
print(f'\n\n{Fore.GREEN+Style.BRIGHT}2 запрос {result.music_name}\n\n{Style.RESET_ALL}')
|
56
|
-
for _ in range(result.count_tracks):
|
57
|
-
print(f"{result.get_author} - {result.get_title} {result.get_duraction}")
|
58
|
-
down_music(path, result)
|
@@ -1,94 +0,0 @@
|
|
1
|
-
'''Рейтинговые треки'''
|
2
|
-
import fake_useragent, requests
|
3
|
-
from bs4 import BeautifulSoup
|
4
|
-
|
5
|
-
class RatingCount:
|
6
|
-
'''
|
7
|
-
Функция для получения списка рейтинговых треков с сайта rur.hitmotop.com.
|
8
|
-
param: count - число от 1 до 48, кол-во треков
|
9
|
-
\nДля получения информации доступны след.функции:
|
10
|
-
- get_author: list, автор трека;
|
11
|
-
- get_title: list, название трека;
|
12
|
-
- get_url_down: list, ссылка на скачивание трека;
|
13
|
-
- direct_download_link: list прямая ссылка на скачивание трека;
|
14
|
-
- get_duraction: list, длительность трека;
|
15
|
-
- get_picture_url: list, ссылка на обложку трека;
|
16
|
-
- get_url_track: list, ссылка на трек.
|
17
|
-
|
18
|
-
'''
|
19
|
-
|
20
|
-
def __init__(self, count_tracks, get_redirect_url=False):
|
21
|
-
self.count_tracks = count_tracks
|
22
|
-
self.get_redirect_url = get_redirect_url
|
23
|
-
self.count_selection
|
24
|
-
|
25
|
-
@property
|
26
|
-
def count_selection(self):
|
27
|
-
|
28
|
-
if self.count_tracks >48:
|
29
|
-
raise ValueError('Only <= 48')
|
30
|
-
else:
|
31
|
-
|
32
|
-
__user = fake_useragent.UserAgent().random
|
33
|
-
__headers = {'user-agent': __user}
|
34
|
-
__url11= requests.get('https://hitmos.me/', headers=__headers, allow_redirects=True).url
|
35
|
-
__url1= __url11[:-1] if '/' in __url11[-1] else __url11
|
36
|
-
|
37
|
-
url = f"{__url1}{'/' if '/' in __url1[:-1] else ''}songs/top-rated"
|
38
|
-
|
39
|
-
response = requests.get(url, headers=__headers)
|
40
|
-
_soup = BeautifulSoup(response.text, 'html.parser')
|
41
|
-
|
42
|
-
_track_titles = [i.text.strip() for i in _soup.find_all("div", class_="track__title")]
|
43
|
-
_track_artists = [i.text.strip() for i in _soup.find_all("div", class_="track__desc")]
|
44
|
-
_track_duration = [i.text.strip() for i in _soup.find_all("div", class_="track__fulltime")]
|
45
|
-
_track_pictures = [f"{i.get('style')[23:-3]}" for i in _soup.find_all("div", class_="track__img")]
|
46
|
-
_track_urls_dow = [i.get('href') for i in _soup.find_all('a', class_='track__download-btn')]
|
47
|
-
_track_url = [f"{__url1}{tra_url.get('href')}" for tra_url in _soup.find_all('a', class_='track__info-l')]
|
48
|
-
|
49
|
-
_items = []
|
50
|
-
|
51
|
-
for idx in range(min(len(_track_titles), self.count_tracks)):
|
52
|
-
if self.get_redirect_url and len(_track_urls_dow[idx])>0:
|
53
|
-
direct_download_link = requests.get(_track_urls_dow[idx],headers=__headers,allow_redirects=True).url
|
54
|
-
else: direct_download_link = None
|
55
|
-
item = {
|
56
|
-
'author': _track_artists[idx],
|
57
|
-
'title': _track_titles[idx].replace('/','').replace(':','').replace('*','').replace('?','').replace('"','').replace('<','').replace('>','').replace('|','').replace('\\',''),
|
58
|
-
'url_down': _track_urls_dow[idx],
|
59
|
-
'direct_download_link': direct_download_link,
|
60
|
-
'duration_track': _track_duration[idx],
|
61
|
-
'picture_url': _track_pictures[idx],
|
62
|
-
'url_track': _track_url[idx]
|
63
|
-
}
|
64
|
-
_items.append(item)
|
65
|
-
|
66
|
-
self.data = {"items": _items}
|
67
|
-
return self.data
|
68
|
-
@property
|
69
|
-
def get_author(self):
|
70
|
-
return [item['author'] for item in self.data['items']]
|
71
|
-
|
72
|
-
@property
|
73
|
-
def get_title(self):
|
74
|
-
return [item['title'] for item in self.data['items']]
|
75
|
-
|
76
|
-
@property
|
77
|
-
def get_url_down(self):
|
78
|
-
return [item['url_down'] for item in self.data['items']]
|
79
|
-
|
80
|
-
@property
|
81
|
-
def direct_download_link(self):
|
82
|
-
return [item['direct_download_link'] for item in self.data['items']]
|
83
|
-
|
84
|
-
@property
|
85
|
-
def get_duraction(self):
|
86
|
-
return [item['duration_track'] for item in self.data['items']]
|
87
|
-
|
88
|
-
@property
|
89
|
-
def get_picture_url(self):
|
90
|
-
return [item['picture_url'] for item in self.data['items']]
|
91
|
-
|
92
|
-
@property
|
93
|
-
def get_url_track(self):
|
94
|
-
return [item['url_track'] for item in self.data['items']]
|
@@ -1,143 +0,0 @@
|
|
1
|
-
'''Рейтинговые треки'''
|
2
|
-
import fake_useragent, requests
|
3
|
-
from bs4 import BeautifulSoup
|
4
|
-
from .excepts import PageError
|
5
|
-
|
6
|
-
class RatingPage:
|
7
|
-
'''
|
8
|
-
Функция для получения списка рейтинговых треков с сайта rur.hitmotop.com.
|
9
|
-
:param page_count: число от 1 до 11 (номер страницы с треками)
|
10
|
-
\nДля получения информации доступны след.функции:
|
11
|
-
- get_author: list, автор трека;
|
12
|
-
- get_title: list, название трека;
|
13
|
-
- get_url_down: list, ссылка на скачивание трека;
|
14
|
-
- direct_download_link: list прямая ссылка на скачивание трека;
|
15
|
-
- get_duraction: list, длительность трека;
|
16
|
-
- get_picture_url: list, ссылка на обложку трека;
|
17
|
-
- get_url_track: list, ссылка на трек.
|
18
|
-
'''
|
19
|
-
def __init__(self, page_count:int, get_redirect_url=False):
|
20
|
-
self.page_count = page_count
|
21
|
-
self.get_redirect_url = get_redirect_url
|
22
|
-
self.page_selection
|
23
|
-
|
24
|
-
@property
|
25
|
-
def page_selection(self):
|
26
|
-
|
27
|
-
if self.page_count >11:
|
28
|
-
raise PageError
|
29
|
-
else:
|
30
|
-
|
31
|
-
__user = fake_useragent.UserAgent().random
|
32
|
-
__headers = {'user-agent': __user}
|
33
|
-
__url11= requests.get('https://hitmos.me/', headers=__headers, allow_redirects=True).url
|
34
|
-
__url1 = __url11[:-1] if '/' in __url11[-1] else __url11
|
35
|
-
|
36
|
-
if self.page_count == 1:
|
37
|
-
__list = []
|
38
|
-
url = f"{__url1}{'/' if '/' in __url1[:-1] else ''}songs/top-rated"
|
39
|
-
response = requests.get(url, headers=__headers)
|
40
|
-
_soup = BeautifulSoup(response.text, 'html.parser')
|
41
|
-
|
42
|
-
_track_titles = [i.text.strip() for i in _soup.find_all("div", class_="track__title")]
|
43
|
-
_track_artists = [i.text.strip() for i in _soup.find_all("div", class_="track__desc")]
|
44
|
-
_track_duration = [i.text.strip() for i in _soup.find_all("div", class_="track__fulltime")]
|
45
|
-
_track_pictures = [f"{i.get('style')[23:-3]}" for i in _soup.find_all("div", class_="track__img")]
|
46
|
-
_track_urls_dow = [i.get('href') for i in _soup.find_all('a', class_='track__download-btn')]
|
47
|
-
_track_url = [f"{__url1}{tra_url.get('href')}" for tra_url in _soup.find_all('a', class_='track__info-l')]
|
48
|
-
|
49
|
-
for idx in range(min(len(_track_titles), 48)):
|
50
|
-
if self.get_redirect_url and len(_track_urls_dow[idx])>0:
|
51
|
-
direct_download_link = requests.get(_track_urls_dow[idx],headers=__headers,allow_redirects=True).url
|
52
|
-
else: direct_download_link = None
|
53
|
-
|
54
|
-
items={
|
55
|
-
'author': _track_artists[idx],
|
56
|
-
'title': _track_titles[idx].replace('/','').replace(':','').replace('*','').replace('?','').replace('"','').replace('<','').replace('>','').replace('|','').replace('\\',''),
|
57
|
-
'url_down': _track_urls_dow[idx],
|
58
|
-
'direct_download_link': direct_download_link,
|
59
|
-
'url_track': _track_url[idx],
|
60
|
-
'duration_track': _track_duration[idx],
|
61
|
-
'picture_url': _track_pictures[idx]
|
62
|
-
}
|
63
|
-
__list.append(items)
|
64
|
-
|
65
|
-
self.count_tracks = len(__list)
|
66
|
-
self.data = {'items': __list}
|
67
|
-
return self.data
|
68
|
-
|
69
|
-
|
70
|
-
else:
|
71
|
-
self.page_count *= 48
|
72
|
-
|
73
|
-
__list = []
|
74
|
-
|
75
|
-
url = f"{__url1}{'/' if '/' in __url1[:-1] else ''}songs/top-rated/start/"
|
76
|
-
|
77
|
-
items = []
|
78
|
-
for page in range(0, self.page_count, 48):
|
79
|
-
|
80
|
-
response = requests.get(f'{url}{page}', headers=__headers)
|
81
|
-
soup = BeautifulSoup(response.text, 'lxml')
|
82
|
-
|
83
|
-
|
84
|
-
track_titles = [i.text.strip() for i in soup.find_all("div", class_="track__title")]
|
85
|
-
track_artists = [i.text.strip() for i in soup.find_all("div", class_="track__desc")]
|
86
|
-
track_duration = [i.text.strip() for i in soup.find_all("div", class_="track__fulltime")]
|
87
|
-
track_pictures = [f"{__url1}{i.get('style')[23:-3]}" for i in soup.find_all("div", class_="track__img")]
|
88
|
-
track_urls_dow = [f"{track_dow_url.get('href')}" for track_dow_url in soup.find_all('a', class_='track__download-btn')]
|
89
|
-
track_url = [f"{__url1}{tra_url.get('href')}" for tra_url in soup.find_all('a', class_='track__info-l')]
|
90
|
-
|
91
|
-
|
92
|
-
for idx in range(min(len(track_titles), 48)):
|
93
|
-
if self.get_redirect_url and len(_track_urls_dow[idx])>0:
|
94
|
-
direct_download_link = requests.get(_track_urls_dow[idx],headers=__headers,allow_redirects=True).url
|
95
|
-
else: direct_download_link=None
|
96
|
-
|
97
|
-
items={
|
98
|
-
'author': track_artists[idx],
|
99
|
-
'title': track_titles[idx],
|
100
|
-
'url_down': track_urls_dow[idx],
|
101
|
-
'direct_download_link': direct_download_link,
|
102
|
-
'url_track': track_url[idx],
|
103
|
-
'duration_track': track_duration[idx],
|
104
|
-
'picture_url': track_pictures[idx]
|
105
|
-
}
|
106
|
-
__list.append(items)
|
107
|
-
self.count_tracks = len(__list)
|
108
|
-
self.data = {'items': __list}
|
109
|
-
return self.data
|
110
|
-
|
111
|
-
@property
|
112
|
-
def get_author(self):
|
113
|
-
return [item['author'] for item in self.data['items']]
|
114
|
-
|
115
|
-
@property
|
116
|
-
def get_title(self):
|
117
|
-
return [item['title'] for item in self.data['items']]
|
118
|
-
|
119
|
-
@property
|
120
|
-
def get_url_down(self):
|
121
|
-
return [item['url_down'] for item in self.data['items']]
|
122
|
-
|
123
|
-
@property
|
124
|
-
def direct_download_link(self):
|
125
|
-
return [item['direct_download_link'] for item in self.data['items']]
|
126
|
-
|
127
|
-
@property
|
128
|
-
def get_duraction(self):
|
129
|
-
return [item['duration_track'] for item in self.data['items']]
|
130
|
-
|
131
|
-
@property
|
132
|
-
def get_picture_url(self):
|
133
|
-
return [item['picture_url'] for item in self.data['items']]
|
134
|
-
|
135
|
-
@property
|
136
|
-
def get_url_track(self):
|
137
|
-
return [item['url_track'] for item in self.data['items']]
|
138
|
-
|
139
|
-
@property
|
140
|
-
def get_all(self): return self.data
|
141
|
-
|
142
|
-
|
143
|
-
|
@@ -1,64 +0,0 @@
|
|
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,14 +0,0 @@
|
|
1
|
-
README.md
|
2
|
-
setup.cfg
|
3
|
-
setup.py
|
4
|
-
pars_hitmotop/__init__.py
|
5
|
-
pars_hitmotop/entered_tracks.py
|
6
|
-
pars_hitmotop/excepts.py
|
7
|
-
pars_hitmotop/how_to_use.py
|
8
|
-
pars_hitmotop/rating_tracks_count.py
|
9
|
-
pars_hitmotop/rating_tracks_page.py
|
10
|
-
pars_hitmotop.egg-info/PKG-INFO
|
11
|
-
pars_hitmotop.egg-info/SOURCES.txt
|
12
|
-
pars_hitmotop.egg-info/dependency_links.txt
|
13
|
-
pars_hitmotop.egg-info/requires.txt
|
14
|
-
pars_hitmotop.egg-info/top_level.txt
|
@@ -1 +0,0 @@
|
|
1
|
-
pars_hitmotop
|
pars_hitmotop-0.0.8/setup.py
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
from setuptools import setup
|
2
|
-
|
3
|
-
version='0.0.8'
|
4
|
-
with open('README.md', encoding='utf-8') as f:
|
5
|
-
long_description=f.read()
|
6
|
-
|
7
|
-
setup(
|
8
|
-
name='pars_hitmotop',
|
9
|
-
version=version,
|
10
|
-
|
11
|
-
author='Joy_079',
|
12
|
-
author_email='Prufu@yandex.ru',
|
13
|
-
long_description=long_description,
|
14
|
-
long_description_content_type='text/markdown',
|
15
|
-
url='https://github.com/PY079/pars_hitmotop',
|
16
|
-
download_url=f'https://github.com/PY079/pars_hitmotop/arhive/v{version}.zip',
|
17
|
-
install_requires=['bs4','colorama','fake-useragent','requests','lxml'],
|
18
|
-
# license=...,
|
19
|
-
packages=['pars_hitmotop'],
|
20
|
-
classifiers=[
|
21
|
-
'Programming Language :: Python',
|
22
|
-
'Programming Language :: Python :: 3.7',
|
23
|
-
'Programming Language :: Python :: 3.8',
|
24
|
-
'Programming Language :: Python :: 3.9',
|
25
|
-
'Programming Language :: Python :: Implementation :: PyPy'
|
26
|
-
]
|
27
|
-
)
|
File without changes
|