Advertisement
Guest User

Untitled

a guest
Jun 26th, 2016
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 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.  
  6.  
  7. def login(driver):
  8. username = "qureshi11690@yahoo.com" # <username here>
  9. password = "qureshi1" # <password here>
  10.  
  11. # Load page
  12. driver.get("https://www.instagram.com/accounts/login/")
  13.  
  14. # Login
  15. driver.find_element_by_xpath("//div/input[@name='username']").send_keys(username)
  16. driver.find_element_by_xpath("//div/input[@name='password']").send_keys(password)
  17. driver.find_element_by_xpath("//span/button").click()
  18.  
  19. # Wait for the login page to load
  20. WebDriverWait(driver, 15).until(
  21. EC.presence_of_element_located((By.LINK_TEXT, "See All")))
  22.  
  23.  
  24. def scrape_followers(driver, account):
  25. # Load account page
  26. driver.get("https://www.instagram.com/{0}/".format(account))
  27.  
  28. # Click the 'Follower(s)' link
  29. driver.find_element_by_partial_link_text("follower").click()
  30.  
  31. # Wait for the followers modal to load
  32. xpath = "//div[@style='position: relative; z-index: 1;']/div/div[2]/div/div[1]"
  33. WebDriverWait(driver, 10).until(
  34. EC.presence_of_element_located((By.XPATH, xpath)))
  35.  
  36. # You'll need to figure out some scrolling magic here. Something that can
  37. # scroll to the bottom of the followers modal, and know when its reached
  38. # the bottom. This is pretty impractical for people with a lot of followers
  39.  
  40. # Finally, scrape the 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.  
  47. if __name__ == "__main__":
  48. driver = webdriver.Firefox()
  49. try:
  50. login(driver)
  51. followers = scrape_followers(driver, "instagram")
  52. print(followers)
  53. finally:
  54. driver.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement