Вы можете использовать select
селектор BeautifulSoup для выбора элементов в стиле CSS.
Итак, исходя из вашего описания, следует сделать следующее:
soup.select('.fb_pagZ li a')
Предполагая, soup
является BeautifulSoup
объектом.
Также обратите внимание, что для выбора только первого элемента используйте select_one
:
soup.select_one('.fb_pagZ li a')
Чтобы перебрать выборки и получить значение атрибута href
:
for element in soup.select('.fb_pagZ li a'):
href = element['href']
# Do stuffs
Если такого элемента нет, вывод из soup.select('.fb_pagZ li a')
будет пустым списком, так что итерация выше не произойдет.
Если вы хотите прямо сказать о пустоте:
# We're iterating over the pages, generating URLs
# e.g. if the pages come in querystrings in format
# `?page=2`, appending that and getting
# soup object for the final URL
elements = soup.select('.fb_pagZ li a')
if elements:
for element in elements:
href = element['href']
Если вы хотите сопоставить атрибут href
:
for element in soup.select('.fb_pagZ li a'):
try:
href = element['href']
except KeyError:
continue
или вы можете использовать .get
и проверить по None
(что ложно):
for element in soup.select('.fb_pagZ li a'):
href = element.get('href')
if not href:
continue