Advertisement
Guest User

Untitled

a guest
Jan 27th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. from selenium import webdriver
  2. from bs4 import BeautifulSoup
  3. from urllib2 import Request, urlopen
  4. from urlparse import urlparse
  5. import re
  6. import os
  7. import sys
  8. import time
  9.  
  10. FILE_PATH = "/Users/isk/Downloads/pics/"
  11.  
  12. username = sys.argv[1]
  13. password = sys.argv[2]
  14. sys.argv[0:3] = []
  15.  
  16. url = sys.argv[0]
  17. parsed_uri = urlparse(url)
  18. domain = '{uri.scheme}://{uri.netloc}/'.format(uri=parsed_uri)
  19.  
  20. browser = webdriver.Chrome()
  21. browser.get(domain)
  22. nameField = browser.find_element_by_id("navbar_username")
  23. nameField.clear()
  24. nameField.send_keys(username)
  25. passwordField = browser.find_element_by_id("navbar_password")
  26. browser.execute_script("document.getElementById('navbar_password').style.display = 'block';")
  27. passwordField.send_keys(password)
  28. browser.find_element_by_xpath("//input[@value='Log in']").submit()
  29.  
  30. pages = []
  31. for arg in sys.argv:
  32. browser.get(arg)
  33. pages.extend([browser.page_source])
  34.  
  35. browser.close()
  36.  
  37. def downloadImage(imageUrl):
  38. global index
  39. req = Request(imageUrl, headers={'User-Agent' : "Magic Browser"})
  40. f = urlopen(req)
  41. local_file = open(directory + "/" + str(index) + ".jpg", "w" + "b")
  42. local_file.write(f.read())
  43. local_file.close()
  44. index += 1
  45.  
  46. for page in pages:
  47. soup = BeautifulSoup(page);
  48. links = soup.find_all('a', href=re.compile('attach'))
  49. title = soup.h1.renderContents()
  50. user = soup.strong.renderContents()
  51. print "Downloading " + title + " - " + str(len(links)) + " images"
  52. directory = FILE_PATH + user + "/" + title
  53. if not os.path.exists(directory):
  54. os.makedirs(directory)
  55. index = 1
  56. for link in links:
  57. imageUrl = domain + (link.get('href'))
  58. sys.stdout.write("\r" + str(index) + "/" + str(len(links)))
  59. sys.stdout.flush()
  60. downloadImage(imageUrl)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement