지방이의 Data Science Lab

[Python] 셀레니움으로 인스타그램 메시지 보내기 본문

Python Selenium/Web Mecro

[Python] 셀레니움으로 인스타그램 메시지 보내기

[지현] 2021. 1. 1. 14:00

사고싶은 제품에 대해 웹 매크로를 돌려놓았다고 해도,

알람 사운드를 나도록 만들었다고 해도..

 

내가 언제고 정해진 방에만 한정없이 앉아있지 않기 때문에

인스타그램으로 내 폰에 알람 메시지가 오게 만들고자 한다.

 

 

 

1. 크롬 드라이버 설치

 

[Python] 셀레니움 크롬 드라이버 설치 A to Z

1. 크롬 드라이버 설치 일단, 크롬 드라이버를 설치합니다. 아래 사이트로 들어가시면 자기 크롬 버전이 뭔지 확인할 수 있고 그거에 맞게 설치를 시작하시면 됩니다. www.whatismybrowser.com/detect/what-

jlim0316.tistory.com

2. 아이디와 비밀번호 입력

이때 자기계정에 아이디를 보내는 건 더 코드가 늘어지고 귀찮으니 

부계정을 새로 파는게 빠르다. 

1
2
3
4
5
6
7
8
9
10
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import selenium.common.exceptions
import time
import random
 
 
username = input('계정 아이디를 입력해주세요. ')
password = input('계정 비밀번호를 입력해주세요. ')
url = 'https://instagram.com/' + input('메시지를 보낼 아이디를 입력해주세요(자기 계정 아이디 제외). ')
cs

 

 

3. 크롬 드라이버 가져와서 url 열기

1
2
3
4
5
6
7
def path():
    global chrome
    chrome = webdriver.Chrome(executable_path=r'C:\Users\user\Documents\Python Scripts\chromedriver.exe')
        
def url_name(url): 
    chrome.get(url)
    time.sleep(1+random.random())
 

 

4. 계정 로그인 하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def login(username, your_password):
    log_but = chrome.find_element_by_class_name("sqdOP"
    time.sleep(1+random.random())
    log_but.click()
    time.sleep(1+random.random())
     
    usern = chrome.find_element_by_name("username")
    usern.send_keys(username)
    passw = chrome.find_element_by_name("password")
    passw.send_keys(your_password)
     
    passw.send_keys(Keys.RETURN) 
    time.sleep(1+random.random())
    
    notk = chrome.find_element_by_class_name("yWX7d")  
    notk.click()
    time.sleep(1+random.random())

 

 

 

5. 메시지 보내기 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def send_message():
    
    notk = chrome.find_element_by_class_name("cmbtv")  
    notk.click()
    time.sleep(1+random.random())
    
    message = chrome.find_element_by_class_name('_862NM '
    message.click()
    time.sleep(1+random.random())
    chrome.find_element_by_class_name('HoLwm ').click()
    time.sleep(1+random.random())
    l = ['코딩 완료']
    mbox = chrome.find_element_by_tag_name('textarea')
    mbox.send_keys(random.choice(l))
    mbox.send_keys(Keys.RETURN)
tag_name 찾는 법

6. 실행

1
2
3
4
5
6
path()
time.sleep(1)
url_name(url)
login(username, password)
send_message()
chrome.close()

완성된 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import selenium.common.exceptions
import time
import random
 
 
username = input('계정 아이디를 입력해주세요. ')
password = input('계정 비밀번호를 입력해주세요. ')
url = 'https://instagram.com/' + input('메시지를 보낼 아이디를 입력해주세요(자기 계정 아이디 제외). ')
 
def path():
    global chrome
    chrome = webdriver.Chrome(executable_path=r'C:\Users\user\Documents\Python Scripts\chromedriver.exe')
        
def url_name(url): 
    chrome.get(url)
    time.sleep(1+random.random())
    
def login(username, your_password):
    log_but = chrome.find_element_by_class_name("sqdOP"#L3NKy
    time.sleep(1+random.random())
    log_but.click()
    time.sleep(1+random.random())
     
    usern = chrome.find_element_by_name("username")
    usern.send_keys(username)
    passw = chrome.find_element_by_name("password")
    passw.send_keys(your_password)
     
    passw.send_keys(Keys.RETURN) 
    time.sleep(1+random.random())
    
    notk = chrome.find_element_by_class_name("yWX7d")  
    notk.click()
    time.sleep(1+random.random())
    
def send_message():
    
    notk = chrome.find_element_by_class_name("cmbtv")  
    notk.click()
    time.sleep(1+random.random())
    
    message = chrome.find_element_by_class_name('_862NM '
    message.click()
    time.sleep(1+random.random())
    chrome.find_element_by_class_name('HoLwm ').click()
    time.sleep(1+random.random())
    l = ['코딩 완료']
    mbox = chrome.find_element_by_tag_name('textarea')
    mbox.send_keys(random.choice(l))
    mbox.send_keys(Keys.RETURN)
 
path()
time.sleep(1)
url_name(url)
login(username, password)
send_message()
chrome.close()
 

 

Comments