|
|
|
import requests
|
|
|
|
from requests_html import HTMLSession
|
|
|
|
from time import sleep
|
|
|
|
import re
|
|
|
|
|
|
|
|
from pprint import pprint
|
|
|
|
|
|
|
|
urlBase = "https://vimm.net/vault/"
|
|
|
|
gameID = 6029
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def gameInfo(gameId, urlBase):
|
|
|
|
try:
|
|
|
|
session = HTMLSession()
|
|
|
|
response = session.get(url)
|
|
|
|
if len(response.html.find('p')) == 0:
|
|
|
|
# This part gets the game info
|
|
|
|
gameConsole = response.html.find('h2')[0].text.split('\n')[0]
|
|
|
|
gameTitle = response.html.find('h2')[0].text.split('\n')[1]
|
|
|
|
inputs = response.html.find('input')
|
|
|
|
for inputField in inputs:
|
|
|
|
if inputField.html.find('mediaId') != -1:
|
|
|
|
mediaID = re.findall('value=\"(.*?)\"', inputField.html)[0]
|
|
|
|
print("Game: " + gameTitle + "\nURL: " + url + "\nMediaID: " + mediaID)
|
|
|
|
print("\nFetching Game...\n")
|
|
|
|
downloadGame(gameID, mediaID)
|
|
|
|
print("Download complete!")
|
|
|
|
else:
|
|
|
|
print("There is no game with this ID")
|
|
|
|
except requests.exceptions.RequestException as e:
|
|
|
|
print(e)
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
def downloadGame(gameID, mediaID):
|
|
|
|
headers = {
|
|
|
|
"User-Agent": 'Mozilla/5.0(X11; Linux x86_64; rv: 83.0) '
|
|
|
|
'Gecko/20100101'
|
|
|
|
'Firefox / 83.0',
|
|
|
|
"Accept": 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
|
|
|
|
"Accept-Language": 'en-US,en;q=0.5',
|
|
|
|
"Accept-Encoding": 'gzip, deflate, br',
|
|
|
|
"Connection": 'keep-alive',
|
|
|
|
"Referer": 'https://vimm.net/vault/' + str(gameID),
|
|
|
|
"Cookie": '__cfduid = d186e9398ba52f9caf7e9a1fdae8b51511606415231',
|
|
|
|
"Upgrade-Insecure-Requests": '1',
|
|
|
|
}
|
|
|
|
try:
|
|
|
|
# This part downloads the game
|
|
|
|
r = requests.get("https://download4.vimm.net/download/?mediaId=" + str(mediaID), headers=headers)
|
|
|
|
pprint(r)
|
|
|
|
h = r.headers['content-disposition']
|
|
|
|
saveLocation = './Downloads/' + re.findall("filename=(.+)", h)[0].replace("\"", "")
|
|
|
|
open(saveLocation, 'wb').write(r.content)
|
|
|
|
except requests.exceptions.RequestException as e:
|
|
|
|
print(e)
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
while gameID != 6030:
|
|
|
|
url = urlBase + str(gameID)
|
|
|
|
gameInfo(gameID, urlBase)
|
|
|
|
gameID += 1
|
|
|
|
sleep(2)
|