Advertisement
Guest User

Sel_Insta

a guest
Jan 12th, 2017
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.32 KB | None | 0 0
  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. from selenium.webdriver.support.ui import WebDriverWait
  4. from selenium.webdriver.support import expected_conditions as EC
  5. from selenium.webdriver import ActionChains
  6.  
  7.  
  8. def login(driver):
  9.     username = "PLACEHOLDER"  # <username here>
  10.     password = "PLACEHOLDER"  # <password here>
  11.  
  12.     # Load page
  13.     driver.get("https://www.instagram.com/accounts/login/")
  14.  
  15.     driver.implicitly_wait(10)
  16.     # Login
  17.     driver.find_element_by_xpath("//span[@id='react-root']/div/article/div/div/div/form/div/input").send_keys(username)
  18.     driver.find_element_by_xpath("//span[@id='react-root']/div/article/div/div/div/form/div[2]/input").send_keys(password)
  19.     driver.find_element_by_xpath("//span[@id='react-root']/div/article/div/div/div/form/span/button").click()
  20.  
  21.     # Wait for the login page to load
  22.     WebDriverWait(driver, 15).until(
  23.         EC.presence_of_element_located((By.LINK_TEXT, "See All")))
  24.  
  25.  
  26. def scrape_followers(driver, account):
  27.     # Load account page
  28.     driver.get("https://www.instagram.com/{0}/".format(account))
  29.  
  30.     # Click the 'Follower(s)' link
  31.     driver.find_element_by_partial_link_text("follower").click()
  32.  
  33.     # Wait for the followers modal to load
  34.     xpath = "//div[@style='position: relative; z-index: 1;']/div/div[2]/div/div[1]"
  35.     WebDriverWait(driver, 10).until(
  36.         EC.presence_of_element_located((By.XPATH, xpath)))
  37.  
  38.  
  39.  
  40.     # scrape followers
  41.     xpath = "//div[@style='position: relative; z-index: 1;']//ul/li/div/div/div/div/a"
  42.     followers_elems = driver.find_elements_by_xpath(xpath)
  43.  
  44.     return [e.text for e in followers_elems]
  45.  
  46. def scrape_captions(driver,followers):
  47.  
  48.     for follower in followers:
  49.         # go to followers page
  50.         driver.get("https://www.instagram.com/{0}/".format(follower))
  51.         driver.implicitly_wait(2)
  52.         # click on picture using path THIS IS DOING NOTHING :(
  53.         driver.find_element_by_xpath("//span[@id='react-root']/section/main/article/div/div/div/a/div[2]").click()
  54.  
  55.  
  56.  
  57.  
  58. if __name__ == "__main__":
  59.     driver = webdriver.Firefox()
  60.     driver.maximize_window()
  61.     try:
  62.         login(driver)
  63.         followers = scrape_followers(driver, "YOUR_USERNAME_HERE")
  64.         caption = scrape_captions(driver, followers)
  65.     finally:
  66.         driver.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement