import mechanicalsoup as ms import requests import re b = ms.StatefulBrowser() url = "https://www.nedesigns.com/rct2-objects/" b.open(url) #you need to put your windows user name here if you want it to download to your OpenRCT2 folder. username = 'YOUR USERNAME HERE' list = [] #226 is the last page of objects on nedesigns.com as of the writing of this program, but scroll to the bottom of the page and figure out how many pages there are, then update this number, if you want it to go through every page. for i in range(1, 226): b.open(url + 'page-%d' % i) ext = re.compile('.*rct2-object\/\d*\/.*\/download\/') links = b.get_current_page().find_all('a') for link in links: if ext.match(link.attrs['href']): list.append(link.attrs['href']) print(link.attrs['href']) for link_url in list: #you CAN put everything directly into 'object' instead of 'object - EVERYTHING' but then it will replace everything as it downloads, I think it's probably better to just download it to a separate folder then overwrite everything afterwards. filename = 'C:\\Users\\%s\\Documents\\OpenRCT2\\object - EVERYTHING\\' % username + link_url.split('/')[-3].upper() + '.DAT' open(filename, 'a').close r = requests.get(link_url, stream=True) print('downloading' , link_url) with open(filename, 'wb') as f: for chunk in r.iter_content(chunk_size = 1024): if chunk: f.write(chunk) #assuming you ignored the previous comment, you now need to move everything from 'object - EVERYTHING' into 'object' and overwrite