0

Пишу парсер цен с ТП Steam, и столкнулся с такой проблемой: когда я начинаю парсить страницу https://steamcommunity.com/market/listings/730/M249%20%7C%20Deep%20Relief%20%28Well-Worn%29, то цены выводятся в разных валютах:

введите сюда описание изображения

Код парсера выглядит так:

    def parse_price(self, url):
# url += '' Здесь я пытался добавить в конец аргументы по типу /render?currency=1
# но это не сработало

response = self.get_page(url)
soup = BeautifulSoup(response, 'html.parser')
items = soup.find_all(id='searchResultsRows')
for i in items:
    for j in i.find_all_next('span', class_='market_listing_price market_listing_price_with_fee'):
        print(j.text.strip())

Функция для получения страницы:

def get_page(self, url):
    try:
        response = self.session.get(url, proxies=self.p.get())
        time.sleep(random.randint(5, 10))
        return response.content
    except Exception as e:
        print(e)
        self.p.change_proxy()
        return self.get_page(url)

Запросы отправляются через публичные прокси, и если ничего не вышло, то прокси меняется на другой. Все цены на скрине - это результат одного запроса, так что цены разные не из-за прокси. Заранее благодарю

Kewsen
  • 49
  • 7
  • Если не изменяет память там в куках или заголовках можно валюту прописать – Namerek Apr 17 '23 at 19:01
  • Передавал в метод get param={'currency': 1}, не сработало – Kewsen Apr 17 '23 at 20:45
  • Там не в param надо передавать а в куках или заголовках. – Namerek Apr 18 '23 at 08:23
  • Не выходит, проверил через Network какие куки я отправляю, если в запросе отправляю ничего не меняется – Kewsen Apr 18 '23 at 18:34
  • Поигрался в Firefox, если убрать куку steamLoginSecure, то цены идут в разнобой. Судя по всему необходимо быть залогиненным, а валюта подтягивается из настроек профиля, никак иначе её явно не указать, насколько я понял. – DiMithras Apr 19 '23 at 08:45

0 Answers0