Проблема с библиотекой BeautifulSoup, get не работает

import requests
from bs4 import BeautifulSoup


link = 'https://cspromogame.ru/avatars'
content_num = 0

response = requests.get(url=link).text
soup = BeautifulSoup(response, 'lxml')
block = soup.find('div', class_='main_content').find('div', class_='js-infinite-scroll')
images = block.find_all('a', class_='item-avatar')


for img in images:
    img_link = img.find('a').get('href')
    print(img_link)

Добрый день! недавно я начал учиться парсить сайты, но у меня начались проблемы с получением ссылок на картинки, когда в цикле я вызываю метод 'find' у меня пишет в принте None, если вызываю 'get', то тогда выдает вот это

AttributeError: 'NoneType' object has no attribute 'get'

Хотя один раз у меня все же получилось это сделать, но чаще всего происходит именно это.


Ответы (2 шт):

Автор решения: andreyru02

Значит в некоторых классах item-avatar нет тегов a, поэтому возвращается None и возникает ошибка. Предлагаю сделать, что то вроде этого, за место вашего цикла в конце скрипта:

for img in images:
    img_link = img.find('a')
    if img_link:
        href = img_link.get('href')
    print(href)
→ Ссылка
Автор решения: Сергей Ш
import requests
from bs4 import BeautifulSoup


link = f'https://cspromogame.ru/avatars'

response = requests.get(url=link).content
soup = BeautifulSoup(response, 'lxml')
images = soup.find_all('a', class_='item-avatar')
img_link = [img.get('href') for img in images]

print(*img_link, sep='\n')

https://cspromogame.ru//storage/upload_images/avatars/852.jpg
https://cspromogame.ru//storage/upload_images/avatars/879.jpg
https://cspromogame.ru//storage/upload_images/avatars/856.jpg
......
https://cspromogame.ru//storage/upload_images/avatars/1456.jpg
https://cspromogame.ru//storage/upload_images/avatars/916.jpg
https://cspromogame.ru//storage/upload_images/avatars/3969.jpg
→ Ссылка