Обязательно нужно в заголовках передавать Accept и Accept-Language(конкретно в данном случае), так как без этих заголовков блок с товарами не возвращается:
Вот рабочий код, правда без колорамы, думаю разберетесь:
from bs4 import BeautifulSoup
import requests
gun_name1 = 'M4A4'
skin_name1 = 'Безлюдный космос'
wear_name1 = 'После полевых испытаний'
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Language': 'ru-UA,ru;q=0.9,en-US;q=0.8,en;q=0.7,ru-RU;q=0.6',
}
steam_link = ('https://steamcommunity.com/market/search?appid=730&q=' + gun_name1 +'|' + skin_name1 + '%28' + wear_name1 + '%29')
full_page = requests.get(steam_link, headers=headers)
soup = BeautifulSoup(full_page.content, 'html.parser')
skins = soup.find_all('a',class_='market_listing_row_link')
for skin in skins:
name = skin.find('span',class_='market_listing_item_name').text
counts = skin.find('span',class_='market_listing_num_listings_qty').text
price = skin.find('span',class_='sale_price').text.replace('От','').strip() #HACK
print(f'{name}: {counts} - {price}')
Результат
M4A4 | Безлюдный космос (После полевых испытаний): 461 - $11.48 USD
StatTrak™ M4A4 | Безлюдный космос (После полевых испытаний): 44 - $32.53 USD
M4A4 | Азимов (После полевых испытаний): 52 - $117.83 USD
M4A4 | Зірка (После полевых испытаний): 172 - $11.86 USD
M4A4 | Рентген (После полевых испытаний): 82 - $10.78 USD
M4A4 | Грифон (После полевых испытаний): 264 - $5.10 USD
M4A4 | Магний (После полевых испытаний): 6,243 - $0.28 USD
M4A4 | Преобразователь (После полевых испытаний): 434 - $2.01 USD
M4A4 | Смерч (После полевых испытаний): 154 - $1.90 USD
M4A4 | Неонуар (После полевых испытаний): 206 - $18.22 USD
Только обратите внимание, там к скинам несколько цен - цена продажи, обычная цена и т.д. Я в стиме не понимаю.
И на будущее, всегда проверяйте ответ, который вы получаете в результате запроса. Только не статус-код(200,404 и т.д.), а сохраняйте ответ в файл и смотрите содержимое в блокноте или в браузере. Пример:
with open('index.html','w') as file:
file.write(full_page.text)
Данный код запишет в файл index.html ответ на ваш запрос.