利用Selenium实现Instagram机器人
代码比较简单,用python第三方模块Selenium实现即可,这里用的浏览器是Firefox, 可以根据情况选择Firefox或者Chrome.
from selenium import webdriver
import time
class InstagramBot:
"""
Args:
username: Instagram用户名
password: Instagram 密码
"""
def __init__(self, username, password):
self.username = username
self.password = password
self.baseurl = 'https://www.instagram.com'
def login(self):
driver = webdriver.Firefox()
driver.get('{}/accounts/login/'.format(self.baseurl))
time.sleep(1) #这里最好给一定的Sleep时间,等待浏览器加载页面完成,否则后续的元素定位会出现问题
driver.find_element_by_xpath('/html/body/div[1]/section/main/div/div/div[1]/div/form/div/div[1]/div/label/input').send_keys(self.username) #我这里直接用xpath进行定位,如果有问题,可以选择其他方式进行定位
driver.find_element_by_xpath('/html/body/div[1]/section/main/div/div/div[1]/div/form/div/div[2]/div/label/input').send_keys(self.password)
driver.find_element_by_xpath('/html/body/div[1]/section/main/div/div/div[1]/div/form/div/div[3]').click()
#偷点懒,就不谢其他方法了
if __name__ == '__main__':
bot = InstagramBot('XXXXXX', '**********************')
bot.login()