python

python 셀레니움으로 네이버 블로그 글쓰기 - 2024

작성자 정보

  • 마스터 작성
  • 작성일

컨텐츠 정보

본문

셀레니움을 사용하여 네이버 블로그에 포스팅 하는 방법에 대해서 적어 볼까 합니다.

 

네이버 로그인 로직 부분은 제외하고 글쓰기 부분을 다룰 예정입니다.

로그인에 관련된 부분은 아래의 포스팅을 참고하시면 됩니다.

 

셀레니움 네이버 로그인

 

네이버 블로그 글쓰기에 관한 것은 파트 별로 올릴 계획입니다.

전체 코드는 제공이 힘든점 알려드립니다.

 

1.필요 라이브러리

from selenium import webdriver

import time

from selenium.webdriver.common.by import By

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.common.keys import Keys

import autoit

import pyperclip

import pyautogui

없는 라이브러리의 경우 터미널에 pip install 라이브러리명을 사용하여 설치하시면 됩니다.

 

 

2.블로그 글쓰기로 이동

blogurl = 'https://blog.naver.com/'+user['id']+'/postwrite?categoryNo=6'

driver.get(blogurl)

네이버 블로그 글쓰기는 위의 blogurl의 주소와 같습니다.

중간에 user['id'] 값을 넣게 되면 내 블로그의 글쓰기 페이지로 이동합니다.

time.sleep(1)은 중간중간 넣어주세요.

 

3.블로그 제목 클릭 및 내용 넣기

driver.find_element_by_xpath('//span[contains(text(),"제목")]').click()

ActionChains(driver).send_keys(postingTitle).perform()

driver.find_element_by_xpath('//span[contains(text(),"제목")]').click() 

제목에 글을 쓸수 있도록 클릭하기

ActionChains(driver).send_keys(postingTitle).perform()

내용 붙여 넣기 

제목 부분은 변수로 빼둔 상태입니다. 

직접 넣어도 되고 변수로 관리 해도 되니 편한 것으로 사용하세요

 

 

4.블로그 사진 넣기

driver.find_element(By.CLASS_NAME,'se-image-toolbar-button').click()

time.sleep(2)

handle = "[CLASS:#32770; TITLE:열기]"

autoit.win_wait_active("열기",3)

img_path = "C:\\xampp\\htdocs\\python\\test.jpg"

autoit.control_send(handle, "Edit1", img_path)

time.sleep(1)

pyautogui.hotkey('enter')


driver.find_element(By.CLASS_NAME,'se-image-toolbar-button').click() 

사진 버튼 클릭하기

 

time.sleep(2) 

최소 2초 정도 텀 두기 (사진 넣을 창 열릴때 까지 기다리기)

 

handle = "[CLASS:#32770; TITLE:열기]"

사진 버튼 누르면 뜨는 창 

 

autoit.win_wait_active("열기",3)

'열기' 창이 나올 때까지 3초 대기

 

img_path = "C:\\xampp\\htdocs\\python\\test.jpg" 

업로드할 사진의 이미지 경로

\\를 사용하는 이유는 문자열에서는 \ 한개는 사용이 불가능 \\을 써야 \로 인식됨

 

autoit.control_send(handle, "Edit1", img_path)

사진의 이미지 경로값을 파일이름 칸에 넣기

 

pyautogui.hotkey('enter')

엔터를 눌러서 확인 버튼을 대신처리함

 

 

5.블로그 내용 넣기

#글만 쓸경우 사용 처음에 사진 넣는다면 바로 아래줄 주석처리하기 

driver.find_element_by_xpath('//span[contains(text(),"본문에")]').click() 

ActionChains(driver).send_keys(postingContent).perform()

driver.find_element_by_xpath('//span[contains(text(),"본문에")]').click() 

개발 초기 버전에서 제목과 글만 작성했었을 때 사용했던 코드

사진을 먼저 사용하지 않는다면 이 코드를 실행하면 됩니다.

 

 

6.도움말 닫기

driver.find_element(By.CLASS_NAME,'se-help-panel-close-button').click()

도움말 닫기 버튼 클릭입니다.

 

 

7.상단 발행버튼 누르기

driver.find_element(By.CLASS_NAME,'publish_btn__Y5mLP').click()

상단 녹색의 발행버튼 클릭입니다.

 

 

8.해시태그 설정하기

driver.find_element(By.CLASS_NAME,'tag_input__NCQc1').click()

ActionChains(driver).send_keys(mainkeywprd).perform()

pyautogui.hotkey('space')

driver.find_element(By.CLASS_NAME,'tag_input__NCQc1').click()

해시태그 클릭입니다.

 

ActionChains(driver).send_keys(mainkeywprd).perform()

해시태그 입력하기

 

pyautogui.hotkey('space')

해시태그 닫기 

그 뒤로는 입력하기와 해시태그 닫기를 원하는 만큼 반복하면 됩니다.

 

 

9.최종 발행하기

driver.find_element(By.CLASS_NAME,'confirm_btn__Dv9du').click() 

마지막으로 최종 발행하면 완성입니다.

 

 

이번 포스팅에서는 셀레니움에서 네이버 블로그 글쓰기에 대해서 다뤄봤습니다.,

기타 사용할 버튼들에 대해서는 추후에 업데이트 하겠습니다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.
알림 0