메뉴 닫기

[네이버 블로그 자동 포스팅 with chatGPT] 5.네이버 블로그 자동 로그인

네이버 블로그 자동 포스팅 5번째 코드 입니다. 크롬 드라이버로 자동으로 글을 입력 컨트롤 하는 모듈을 만들 예정 입니다.

코드는 아래와 같습니다. import 해오는 모듈이 많습니다. 크롬을 컨트롤 할려고 필요한 함수들 입니다.

네이버 블로그 자동 포스팅 자동 로그인 및 다른 함수

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import pyperclip
import unsplash as un #unsplash 파일 불러옴
import time
import random
import requests
from io import BytesIO
import win32clipboard
from PIL import Image
import pyautogui
#naver blog 처리 관련

#Chrome browser open with chromdriver
def open_browser():
    #########################################################################################
    options = webdriver.ChromeOptions()
    options.add_experimental_option("prefs", {
        "profile.default_content_setting_values.clipboard": 1
    })
    naver_url = 'http://naver.com'
    browser = webdriver.Chrome('본인 크롬드라이브 경로', chrome_options=options)
    time.sleep(1)
    browser.get(naver_url)
    ########################################################################################
    return browser

#naver login
    ########################################################################################
def naver_login(browser,id, password):
    browser.find_element('xpath','//*[@id="account"]/a').click()
    my_id = id # ID
    my_pw = password  # Passwoard 
    xpath2 = '//input[@id="id"]'
    xpath3 = '//input[@id="pw"]'
    xpath4 = '//input[@id="log.login"]'

    browser.find_element('xpath',xpath2).click() # id 입력창에 클릭
    pyperclip.copy(my_id)
    browser.find_element('xpath',xpath2).send_keys(Keys.CONTROL, 'v')


    browser.find_element('xpath',xpath3).click() # pw 입력창 클릭
    pyperclip.copy(my_pw)
    browser.find_element('xpath',xpath3).send_keys(Keys.CONTROL,'v') # pw 입력창 클릭


    login_btn = browser.find_element('id','log.login')# login button click
    login_btn.click()
    time.sleep(1)
    #########################################################################################

#image file 저장 및 clipabord copy
def get_image(url):
    with open('temp.jpg','wb')as f:
        f.write(requests.get(url).content)

def send_to_clipboard(clip_type, data):
    win32clipboard.OpenClipboard()
    win32clipboard.EmptyClipboard()
    win32clipboard.SetClipboardData(clip_type, data)
    win32clipboard.CloseClipboard()

이번 코드에선 몇가지 함수를 정의했습니다.

open_browser 함수는 크롬을 크롬 드라이버로 열어서 컨트롤 할 수 있게 해주는 함수고 naver_login 함수는 id, password 를 입력 받아서 자동으로 로그인 해주는 함수 입니다.

open_browser : 크롬을 열고 컨트롤 할 수 있게 해주는 함수 입니다. ‘본인 크롬 드라이브 경로’ 라고 되어 있는 곳을 바꿔 줘야 합니다.

naver_login : 네이버 자동 로그인 함수 입니다. 네이버 로그인 시에 세레니움을 이용해서 아이디와 비밀번호를 입력 하면 로봇탐색에 걸려서 인증창이 뜹니다.

그래서 pyperclip 모듈의 copy 함수를 이용해서 아이디와 비밀번호를 copy, paste 형태로 입력 하고 로그인 버튼을 누를 수 있게 해두었습니다.

마지막에 time.sleep(1) 은 로그인 하고 1초 정도 대기 하기 위해서 넣어둔 함수 입니다.

get_image 함수는 unsplash 모듈에서 받은 이미지 url을 파일로 저장해주는 함수이고 send_to_clipboard는 이미지 파일을 윈도우 클립보드로 복사해주는 함수 입니다.

블로그에 이미지 첨부를 클립보드에서 붙여넣는 방법을 사용하려고 만들었습니다.

이제 마지막으로 남은 작업은 chatGPT와 UNSPLASH 에서 받아온 글과 그림을 블로그에 넣는 함수만 만들어 주면 됩니다.

코드가 조금 길어서 다음 포스팅에서 추가하도록 하겠습니다.

Posted in 네이버 자동포스팅

Related Posts

2 Comments

  1. 핑백:[네이버 블로그 자동 포스팅 with chatGPT] 6.네이버 블로그 자동 포스팅 - Lynny House

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다