Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from selenium import webdriver
- from bs4 import BeautifulSoup
- from urllib2 import Request, urlopen
- from urlparse import urlparse
- import re
- import os
- import sys
- import time
- FILE_PATH = "/Users/isk/Downloads/pics/"
- username = sys.argv[1]
- password = sys.argv[2]
- sys.argv[0:3] = []
- url = sys.argv[0]
- parsed_uri = urlparse(url)
- domain = '{uri.scheme}://{uri.netloc}/'.format(uri=parsed_uri)
- browser = webdriver.Chrome()
- browser.get(domain)
- nameField = browser.find_element_by_id("navbar_username")
- nameField.clear()
- nameField.send_keys(username)
- passwordField = browser.find_element_by_id("navbar_password")
- browser.execute_script("document.getElementById('navbar_password').style.display = 'block';")
- passwordField.send_keys(password)
- browser.find_element_by_xpath("//input[@value='Log in']").submit()
- pages = []
- for arg in sys.argv:
- browser.get(arg)
- pages.extend([browser.page_source])
- browser.close()
- def downloadImage(imageUrl):
- global index
- req = Request(imageUrl, headers={'User-Agent' : "Magic Browser"})
- f = urlopen(req)
- local_file = open(directory + "/" + str(index) + ".jpg", "w" + "b")
- local_file.write(f.read())
- local_file.close()
- index += 1
- for page in pages:
- soup = BeautifulSoup(page);
- links = soup.find_all('a', href=re.compile('attach'))
- title = soup.h1.renderContents()
- user = soup.strong.renderContents()
- print "Downloading " + title + " - " + str(len(links)) + " images"
- directory = FILE_PATH + user + "/" + title
- if not os.path.exists(directory):
- os.makedirs(directory)
- index = 1
- for link in links:
- imageUrl = domain + (link.get('href'))
- sys.stdout.write("\r" + str(index) + "/" + str(len(links)))
- sys.stdout.flush()
- downloadImage(imageUrl)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement