Поиск текстов исполнителя с использованием Genius APIPython

Программы на Python
Ответить
Anonymous
 Поиск текстов исполнителя с использованием Genius API

Сообщение Anonymous »

В настоящее время я пытаюсь запустить Genius API. Прямо сейчас я пытаюсь получить доступ к списку песен исполнителя. Раньше мой код выполнял поиск при запуске, но теперь он не загружается. Я подумал, что, возможно, это проблема с моим ключом API, но когда я сгенерировал новый ключ, я все равно получал то же сообщение об ошибке. Я даже убедился, что ключ API действителен, используя Curl -H.
import lyricsgenius
GENIUS_ACCESS = os.getenv('GENIUS_ACCESS')
genius = lyricsgenius.Genius(GENIUS_ACCESS)
genius.search_artist("Drake")

Вывод этого кода:
Searching for songs by Drake...

---------------------------------------------------------------------------
HTTPError Traceback (most recent call last)
File /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/lyricsgenius/api/base.py:80, in Sender._make_request(self, path, method, params_, public_api, web, **kwargs)
75 response = self._session.request(method, uri,
76 timeout=self.timeout,
77 params=params_,
78 headers=header,
79 **kwargs)
---> 80 response.raise_for_status()
81 except Timeout as e:

File /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/requests/models.py:1021, in Response.raise_for_status(self)
1020 if http_error_msg:
-> 1021 raise HTTPError(http_error_msg, response=self)

HTTPError: 403 Client Error: Forbidden for url: https://genius.com/api/search/multi?q=Drake

The above exception was the direct cause of the following exception:

HTTPError Traceback (most recent call last)
Input In [27], in ()
----> 1 genius.search_artist("Drake")

File /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/lyricsgenius/genius.py:519, in Genius.search_artist(self, artist_name, max_songs, sort, per_page, get_full_info, allow_name_change, artist_id, include_features)
516 return found_artist['id']
518 # Get the artist ID (or use the one supplied)
--> 519 artist_id = artist_id if artist_id else find_artist_id(artist_name)
520 if not artist_id:
521 return None

File /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/lyricsgenius/genius.py:504, in Genius.search_artist..find_artist_id(search_term)
502 # Perform a Genius API search for the artist
503 found_artist = None
--> 504 response = self.search_all(search_term)
505 found_artist = self._get_item_from_search_response(response,
506 search_term,
507 type_="artist",
508 result_type="name")
510 # Exit the search if we couldn't find an artist by the given name

File /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/lyricsgenius/api/public_methods/search.py:210, in SearchMethods.search_all(self, search_term, per_page, page)
188 """Searches all types.
189
190 Including: albums, articles, lyrics, songs, users and
(...)
207
208 """
209 endpoint = 'multi'
--> 210 return self.search(search_term, per_page, page, endpoint)

File /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/lyricsgenius/api/public_methods/search.py:45, in SearchMethods.search(self, search_term, per_page, page, type_)
41 path = 'search/' + type_
42 params = {'q': search_term,
43 'per_page': per_page,
44 'page': page}
---> 45 return self._make_request(path, params_=params, public_api=True)

File /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/lyricsgenius/api/base.py:88, in Sender._make_request(self, path, method, params_, public_api, web, **kwargs)
86 error = get_description(e)
87 if response.status_code < 500 or tries > self.retries:
---> 88 raise HTTPError(response.status_code, error) from e
90 # Enforce rate limiting
91 time.sleep(self.sleep_time)

HTTPError: [Errno 403] 403 Client Error: Forbidden for url: https://genius.com/api/search/multi?q=Drake


Подробнее здесь: https://stackoverflow.com/questions/792 ... genius-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»