Задать вопрос
@Sanchoys228

Как спарсить цену скина в Steam?

Привет всем, прошу помочь мне с вопросом парсинга.
Мне нужно через bs4 вытащить цену и название скина.
5f1dad3e495b9879436873.png

from colorama import init
init()
from colorama import Fore, Back, Style
from bs4 import BeautifulSoup
import requests

gun_name1 = 'M4A4'
skin_name1 = 'Безлюдный космос'
wear_name1 = 'После полевых испытаний'
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 OPR/68.0.3618.197'}
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')
skin_desc = soup.findAll('span', {'class':'market_listing_item_name'})
print(Back.CYAN + '{0:*^60}'.format('steamcommunity.com'))
print(Back.RESET + skin_desc[1].text)

При данном коде выдает ошибку:

*********************steamcommunity.com*********************
Traceback (most recent call last):
File "beta_marketChecker.py", line 95, in
print(Back.RESET + skin_desc[1].text)
IndexError: list index out of range

Вот сам html со стима:
<span id="result_0_name" class="market_listing_item_name" style="color: #D2D2D2;">M4A4 | Безлюдный космос (Поношенное)</span>


P.S Суть ошибки я понимаю, но как пофиксить не знаю.В python я новичок
  • Вопрос задан
  • 1028 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Developer К ответам на вопрос (2)
samodum
@samodum
Какой вопрос - такой и ответ
Посмотри сколько элементов возвращается в skin_desc.
Ругается, что их меньше двух.
Там либо один элемент, тогда надо писать skin_desc[0]
Либо там ничего нет. Тогда надо разбираться почему ничего не попало в выборку
Ответ написан