jo2aro
@jo2aro
i`m so stupid

Как парсить истории продаж скина в стим?

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

однако не в web запросах не в html коде всех данных не нашел, в html коде цена появляется только за 1 период при наведении мышки на графике на него.

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

если кто-то может помочь буду очень благодарен.

driver.get('https://steamcommunity.com/market/listings/730/StatTrak™%20SG%20553%20%7C%20Tiger%20Moth%20%28Field-Tested%29')

time.sleep(4)

#driver.find_element(By.XPATH, '//canvas[@class="jqplot-event-canvas"]').click()
r = driver.find_element(By.XPATH, '//div[@class="jqplot-highlighter-tooltip"]')

soup = BeautifulSoup(driver.page_source, 'lxml')
r1 = soup.find('div', class_="jqplot-highlighter-tooltip").text

print(r1)


(дополнение: пытаюсь спарсить все значения которые появляются когда вы наводите мышку на график с ценой скина)
  • Вопрос задан
  • 638 просмотров
Решения вопроса 1
nnnLik
@nnnLik
Capybara god
Привет!

Я нашел свой старый парсер предметов в стиме:

import json
import re
import requests


req = requests.get('https://steamcommunity.com/market/listings/730/Glove%20Case')
search = re.search('var line1=(.+);', req.text)
data_str = search.group(1)
data = json.loads(data_str)
result = '\n'.join(map(str, data))
f_res = '[Date, Price, Amount]\n' + result

print(f_res)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@PavelMos
Там есть вообще все значения в т.ч. за более ранние периоды.
Я сделал так
req1=request...
soup1=bs(req1.content, 'html.parser')
result1=re.findall(re.compile(r'line1=(.*)]];'), str(soup1) ) [0] #у меня получился result1=список из одного элемента
list1=result1.split('],[')
out1
Out[133]: 
['[["Dec 09 2015 01: +0",7.989,"44"',
 '"Dec 10 2015 01: +0",5.743,"66"',
 '"Dec 11 2015 01: +0",5.277,"73"',
 '"Dec 12 2015 01: +0",5.262,"89"',
 '"Dec 13 2015 01: +0",4.953,"66"',
 '"Dec 14 2015 01: +0",4.65,"80"',
 '"Dec 15 2015 01: +0",6.189,"67"',
 '"Dec 16 2015 01: +0",4.673,"53"',
 '"Dec 17 2015 01: +0",4.55,"44"',
 '"Dec 18 2015 01: +0",4.458,"53"',
 '"Dec 19 2015 01: +0",4.419,"61"',
.....
 '"Aug 30 2022 07: +0",1.709,"2"',
 '"Aug 30 2022 09: +0",1.67,"1"',
 '"Aug 30 2022 10: +0",0.203,"1"',
 '"Aug 30 2022 12: +0",1.748,"1"',
 '"Aug 30 2022 13: +0",1.75,"2"',
 '"Aug 30 2022 14: +0",1.708,"2"',
 '"Aug 30 2022 18: +0",1.1,"2"',
 '"Aug 30 2022 20: +0",1.776,"1"',
 '"Aug 30 2022 21: +0",1.745,"2"',
 '"Aug 30 2022 22: +0",1.61,"1"',
 '"Aug 30 2022 23: +0",1.847,"1"',
 '"Aug 31 2022 02: +0",1.63,"1"',
 '"Aug 31 2022 03: +0",1.82,"2"',
 '"Aug 31 2022 04: +0",1.58,"1"',
 '"Aug 31 2022 06: +0",1.58,"1"',
 '"Aug 31 2022 10: +0",1.24,"1"',
 '"Aug 31 2022 11: +0",1.897,"1"',
 '"Aug 31 2022 13: +0",1.58,"1"',
 '"Aug 31 2022 14: +0",1.854,"2"',
 '"Aug 31 2022 15: +0",1.41,"1"']
len(out1)
Out[134]: 2816
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы