@Qwerty3086

Как авторизироватся на сайте steam'а с помощью библиоткеи requests?

Недавно у меня возникла идея создать парсер цены предмета на тп стима.
Я начал искать инфу и решил использовать для этого Python с библиотеками BeautifulSoup и requests.
Но в итоге если пользователь не авторизирован цены указываются в разных валютах, так как страна привязываеться к аккаунту пользователя.
На сколько я понимаю, чтобы авторизироваться на сайте, нужно послать ему POST-запрос. Я попробовал. Но при парсинге все так же выдает цену в разных валютах.

Мой код:
import requests
from bs4 import BeautifulSoup

url = 'https://steamcommunity.com/login/dologin/'
url2 = 'https://steamcommunity.com/market/listings/570/Magus%20Accord'
s = requests.Session()

headers = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'
}

clData = {
    '_ga': '***************************',
    'browserid': '***************************',
    'timezoneOffset': '***************************',
    '_gid': '***************************',
    'strInventoryLastContext': '***************************',
    'sessionid': '***************************',
    'steamCountry': '***************************',
    'steamLoginSecure': '***************************'
}

r = s.post(url, data=clData, headers=headers)
data = s.get(url2).text
soup = BeautifulSoup(data, 'lxml')

print(soup.find('span', class_='market_listing_price market_listing_price_with_fee').text.replace('	', ''))
print(r.text)


Массив clData это куки файлы которые передаются в post запросе.
  • Вопрос задан
  • 275 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
никак

там JS точно нужен
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы