@try100
На пути к познанию Python

Как получить значение href тэга 'a' средствами BeautifulSoup Python?

Помогите со следующей задачей: имеется страница html в которой присутствуют две ссылки на два изображения соответственно. Эти ссылки собственно и нужно получить. Пробую следующий код:
def parse(html):
	soup = BeautifulSoup(html,'html.parser')
	title = soup.find('h1')
	image1 = soup.find('div', {'class': 'text'}).find('a').get('href')
        image2 = soup.find_all('a', class_='highslide')[1]
		
	post = []

	post.append ({
		'title': title.text,
		'image1': image1,
		'image2': image2,
		
		})
	print(post)

Вариант image1 выдает мне ссылку, но если использовать его, то как получить вторую ссыль?
Вариант image2 выдает мне все атрибуты тэга a, но как взять только href?

Помогите реализовать данную задачу!
  • Вопрос задан
  • 31947 просмотров
Решения вопроса 1
@try100 Автор вопроса
На пути к познанию Python
Всем спасибо за помощь! Решил свой вопрос в таком виде:
def parse(html):
	soup = BeautifulSoup(html,'html.parser')
	title = soup.find('h1')
	image1 = soup.find_all('a', class_='highslide')[0]
	image2 = soup.find_all('a', class_='highslide')[1]
		
	post = []

	post.append ({
		'title': title.text,
		'image1': image1.get('href'),
		'image2': image2.get('href'),
		})
	print(post)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
AtomKrieg
@AtomKrieg
Давай я поищу в Google за тебя
Комментировать
@Nilsoner
Можно, попробовать так:

post = []
soup = BeautifulSoup(html,'html.parser')
title = soup.find('h1')
image_links = soup.find_all('div', {'class': 'text'})
post.append ('title')
for link in image_links:
    link = link.find('a').get('href')
    post.append('link')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы