Проблема получения определенной группы элементов со страницы HTML с помощью bs4 - PullRequest
0 голосов
/ 31 октября 2018

Моя основная проблема - нацеливание на определенные элементы с помощью тегов «a» со ссылками на скачивание, теперь единственный способ, которым я это вижу, - использовать «title = 'Download'» на странице, на которую я пытаюсь ориентироваться. Я просмотрел несколько вопросов с похожими ответами, но не нашел того, что мне нужно для решения этого вопроса, любая помощь будет принята с благодарностью:

import urllib.request
import bs4 as bs

url = 'http://freemusicarchive.org/search/?quicksearch=drake/'
src = 'drake'
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
html = urllib.request.urlopen(req).read()
soup = bs.BeautifulSoup(html, 'html.parser')


for link in soup.find_all('a'):
    print(link.get('href'))

Теперь основной вопрос заключается в том, есть ли способ нацелить ('get ()') элемент с тегом title на "Download" и опубликовать всю ссылку?!

1 Ответ

0 голосов
/ 31 октября 2018

Вы, похоже, хотите найти все a теги с атрибутом title Download.

Этого легко достичь с помощью find_all, который принимает атрибут-dict:

.
.
.

for download_a_tag in soup.find_all('a', {'title': 'Download'}):
    print(download_a_tag.get('href'))
...