Недавно у меня возникла идея создать парсер цены предмета на тп стима.
Я начал искать инфу и решил использовать для этого 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 запросе.