Add files via upload
This commit is contained in:
parent
ab2c4853e6
commit
1029af86cd
|
@ -0,0 +1,65 @@
|
||||||
|
import re
|
||||||
|
import requests
|
||||||
|
import json
|
||||||
|
import urllib.request
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
from random import random
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
|
||||||
|
def download(username, html):
|
||||||
|
a = html.split("window.__PRELOADED_STATE__ = ", 1)[1]
|
||||||
|
data = a.split("\n",1)[0]
|
||||||
|
|
||||||
|
array = json.loads(data).get("medias").get("byId")
|
||||||
|
|
||||||
|
for content in array:
|
||||||
|
|
||||||
|
file_url = array.get(content).get("media").get("videoUrl")
|
||||||
|
|
||||||
|
# If there is not video, then look for the image
|
||||||
|
if file_url == None:
|
||||||
|
file_url = array.get(content).get("media").get("responsiveUrl")
|
||||||
|
|
||||||
|
# Need to have https:// to have valid url
|
||||||
|
file_url = "https://"+file_url
|
||||||
|
|
||||||
|
fname = str(random())[3:9]+file_url.split("/")[-1]
|
||||||
|
dir_name = username+"/"
|
||||||
|
path = dir_name+fname
|
||||||
|
|
||||||
|
urllib.request.urlretrieve(file_url, path)
|
||||||
|
print("\033[92m[+] Downloaded: {}\033[0m".format(path.replace(dir_name, "")))
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(description = "Download all of the images and videos from a VSCO user")
|
||||||
|
|
||||||
|
parser.add_argument('username', action="store",
|
||||||
|
help="Username of VSCO user")
|
||||||
|
|
||||||
|
parser.add_argument('pages', action="store",
|
||||||
|
help="Number of pages the user has",
|
||||||
|
type=int)
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
|
for page in range(args.pages):
|
||||||
|
url = url ="https://vsco.co/{}/images/{}"
|
||||||
|
|
||||||
|
r = requests.get(url.format(args.username, page+1))
|
||||||
|
|
||||||
|
if r.status_code == 404:
|
||||||
|
print("\033[91m[-] Invalid username\033[0m")
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
print("\033[92m[+] Fetched data\033[0m")
|
||||||
|
os.makedirs(args.username, exist_ok=True)
|
||||||
|
html = r.text
|
||||||
|
|
||||||
|
download(username=args.username, html=html)
|
||||||
|
|
||||||
|
main()
|
Loading…
Reference in New Issue