import json
import requests
from bs4 import BeautifulSoup
total = 0
for i in range(1, 75):
print("PAGE{}".format(i))
print("Current TOTAL: {}".format(total))
sup = BeautifulSoup(
requests.get("https://store.playstation.com/en-us/grid/STORE-MSF77008-PS3ALLPS3GAMES/{}?gameType=ps3_full_games%2Cminis%2Cps2_classics%2Cpsone_classics%2Cpsn_games%2Cdisc_only&platform=ps3".format(i)).content,
'lxml')
for x in sup.find_all('div', {'class': 'grid-cell__title '}):
y = None
while True:
try:
print('https://store.playstation.com/valkyrie-api/en/us/999/resolve/{}?depth=999'.format(
x.parent['href'].split('/')[-1]))
y = json.loads(requests.get(
'https://store.playstation.com/valkyrie-api/en/us/999/resolve/{}?depth=999'.format(
x.parent['href'].split('/')[-1])).content)
break
except Exception:
pass
if type(y['included']) is list:
for inc in y['included']:
try:
if inc['attributes']['file-size']['value'] is not None:
if inc['attributes']['file-size']['unit'] == 'MB':
total += int(inc['attributes']['file-size']['value']) * 1024 * 1024
elif inc['attributes']['file-size']['unit'] == 'GB':
total += int(inc['attributes']['file-size']['value']) * 1024 * 1024 * 1024
elif inc['attributes']['file-size']['unit'] == 'KB':
total += int(inc['attributes']['file-size']['value']) * 1024
print(
"{} {}".format(inc['attributes']['file-size']['value'], inc['attributes']['file-size']['unit']))
except KeyError:
pass
else:
if y['included']['attributes']['file-size']['value'] is not None:
if y['included']['attributes']['file-size']['unit'] == 'MB':
total += int(y['included']['attributes']['file-size']['value']) * 1024 * 1024
elif y['included']['attributes']['file-size']['unit'] == 'GB':
total += int(y['included']['attributes']['file-size']['value']) * 1024 * 1024 * 1024
elif y['included']['attributes']['file-size']['unit'] == 'KB':
total += int(y['included']['attributes']['file-size']['value']) * 1024
print("{} {}".format(y['included']['attributes']['file-size']['value'],
y['included']['attributes']['file-size']['unit']))
print("Current TOTAL: {}".format(total))
Comments