Проблема с библиотекой 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