기본 콘텐츠로 건너뛰기

selenium을 이용한 카카오 로그인┃웹스크래핑 공부(2)

티스토리 블로그에서 글을 백업하기 위한 첫 관문은 코딩을 이용해서 로그인을 하는 것이다.

selenium(파이썬을 이용해 웹에서 자동적 상호작용을 하게 하는 도구)을 이용해 티스토리 블로그 로그인을 어떻게 하는지에 대한 코드는 검색을 하면 여기저기에서 볼 수 있다.

일단 kakao 아이디가 통합되어 있다면 2022년 이전 코드는 소용이 없는 것 같다. 또 '카카오 로그인'을 설명하는 게시물들 중에 요즘 로그인 코드와 다른 구버전의 코드로 작성된 것도 보인다.

가령 이 코드 같은 경우는 실제로 작동하지 않는다. 카카오 웹 구조가 위 코딩이 짜였을 때와 달라졌기 때문이다. 또 Python 버전에 따라서 selenium 코드도 다르다. 옛날 버전에서는

driver.find_element_by_id('id_email_2').send_keys(user_id)

라고 적는 것이 최신 버전에서는 다음과 같이 바뀌었다.

driver.find_element(By.ID, 'id_email_2').send_keys(user_id)

그래서 검색 가능한 코드들을 복붙한다고 결과가 나오지 않는다. 사소한 문제 때문에 작동하지 않는 코드를 써야 하기도 한다.

로그인 자동화 시에 '자동 로그인'을 막는 포털의 대응 때문에 과거에 알려진 방법이 더 이상 유효하지 않은 경우도 있다.

네이버 로그인의 경우 몇 가지 우회 방법이 알려져 있는데(참고), 인간스러움을 보이기 위해서 코드 실행 사이에 '쿨 타임'을 넣는다던지, 로그인 시에 사람처럼 복붙하게 해서 네이버를 속인다 든지 하는 스킬이 덧붙여진다(참고).

덕분에 time.sleep() 함수라던지, pyperclip.copy('비밀번호'); tag_pw.send_keys(Keys.CONTROL, 'v') 함수를 써 봤다. 그래서 네이버에 로그인 하는 것까지는 성공했다. 그러나 자동 로그아웃은 실현시키지 못했다. 'a href'가 해당 버튼 코드의 맨 앞에 위치하고 있을 때, 문제가 발생하는 것 같다.

<a href="https://nid.naver.com/nidlogin.logout?returl=https%3A%2F%2Fwww.naver.com" target="_parent" class="btn_logout" data-clk="nmy.logout">로그아웃</a>

일반적으로 알려진 방법으로 저 버튼을 코드로 클릭하기가 어려웠다.

가령 browser.find_element(By.XPATH, '해당xpath').clik()이라 적은 코드는 계속 에러 메시지를 띄웠다.

어쨌든 네이버에 로그인이 성공해서, 웹 서핑을 적당히 하며 티스토리 블로그 로그인을 시도하게 되었다. 네이버 로그인과 같은 방식으로 접근해서 무척 어려움을 겪었다.

import time
from selenium import webdriver
from selenium.webdriver.common.by import By

browser = webdriver.Chrome()
browser.implicitly_wait(2)
ts_url = "블로그 로그인 url"
browser.get(ts_url)
time.sleep(1
browser.find_element(By.NAME, 'email').send_keys('카카오계정 이메일')
browser.find_element(By.NAME, 'password').send_keys('해당pw')
time.sleep(1)
browser.find_element(By.XPATH, '//*[@id="login-form"]/fieldset/div[8]/button[1]').click()

처음에는 browser.find_element(...).click()을 넣었다. 그런데 카카오 계정에서는 id, pw 입력시에 해당 입력 창을 클릭하는 코드를 짜서 넣으면 에러가 났다.

저렇게 간단하게 짜도 로그인에 성공하였다. 

━━━━━

다음 작업은 '관리자' 창에서 '글관리'로 가서 글들을 날짜, 제목, 내용, 이미지 순으로 스크랩하는 것이다.

댓글

이 블로그의 인기 게시물

제임스 카메론 감독과 예수 가족의 무덤, '예수 신화'에 이야기를 더하다

 얼룩소에 2023년 8월 2일에 쓴 글입니다. *  *  * 최근에 『예수의 무덤: 역사를 뒤집을 고고학 최대의 발견』(2007)이란 책을 보게 되었습니다. 『예수의 무덤』의 표지(출처: 교보문고) 원제는 The Jesus Family Tomb: The Discovery, the Investigation, and the Evidence That Could Change History (예수 가족의 무덤: 역사를 바꿀 수 있는 발견, 조사, 그리고 증거, 2007)입니다. 이 책을 보고 '제임스 카메론'이 등장할 것을 알기는 어렵지요. 관련 논란을 미리 알았더라면, 그리 놀라지는 않았을 것 같습니다. 책을 펼치면 '추천의 글'이 있습니다. 이 글을 쓴 사람이 제임스 카메론(캐머런)이었습니다. 『예수의 무덤』 17쪽, '추천의 글' 글쓴이 그런데 이 책의 문제 의식은 상당히 인상적입니다. 역사학자, 성서학자의 '예수의 실존'에 관한 일반론에 대한 반박을 할 수 있는 결정적인 물리적 증거(예수 가족의 무덤)가 심차 자코보비치(Simcha Jacobovici)와 찰스 펠리그리노(Charles R. Pellegrino)에 의해서 발견되었다는 것입니다.  요즘 많은 전문가들이 예수가 실제로 존재하지 않았다고 주장하고는 한다. 이교도들의 신, 죽음과 부활의 신화, 1세기경 유대인들의 메시아 전통 등이 결합되어 조작된 존재로, 예수 역시 그리스 신화의 제우스처럼 역사적 실존 인물이 아니라는 주장이다. ... 그리고 대부분의 학자가 크리스마스도 동지를 축하하는 이교도의 전통을 받아들인 것으로 해석한다. 동정녀 잉태와 부활 등 예수의 이야기에서 기본적인 틀을 이루는 많은 부분이 예수의 존재보다 적게는 수백 년을 앞서고 있기 때문에, 예수가 실존 인물이 아니라 어떤 특별한 이유로 조작된 신화적 인물이라는 주장이 설득력 있게 들린다. 예수 그리스도가 실제로 이 땅에서 살았다는 물리적 증거가 하나도 없기 때문에 ...

"뇌 회로는 친숙한 것, 중요한 것과 단순한 배경을 식별합니다."(논문 정리)

흥미로운 신경과학 연구 소개를 봤습니다. 친숙한 것과 중요한 것을 먼저 식별하는 뇌 경로에 관한 연구입니다. '신경종교학'에 참고가 되는 논문일 것으로 판단되어, 내용을 정리해 봅니다.  *  *  * Brain Circuit Identifies What’s Familiar, Important, or Just Background┃Neuroscience News.com 요약 : 과학자들은 기억과 감정을 통합하여 감각 정보를 빠르게 평가하는 이전에 알려지지 않은 뇌 회로를 발견했습니다. 내측후각피질(entorhinal cortex)과 해마(hippocampus) 사이의 이 직접 피드백 루프를 통해 뇌는 중요한 광경과 소리를 거의 즉시 우선순위를 정할 수 있습니다. 이전에 알려진 더 느린 경로와 달리, 이 회로는 관련 자극과 배경 소음을 구별하는 데 도움이 될 수 있으며, PTSD와 자폐증과 같은 상태에 영향을 미칠 수 있습니다. 이 발견은 뇌가 정보를 걸러내는 방식에 대한 이해를 높이고 감각 및 기억 관련 장애를 치료하기 위한 새로운 전략으로 이어질 수 있습니다. ─── ∞∞∞ ───  익숙한 것을 한눈에 알아보는 뇌 회로, 해마의 비밀 우리는 왜 친숙한 얼굴이나 물건을 한눈에 알아볼 수 있을까요? 반대로 처음 보는 것은 어딘가 낯설게 느껴지곤 합니다. 이런 능력 뒤에는 우리의 기억 이 큰 역할을 합니다. 뇌의 해마(hippocampus)라는 부분이 과거의 기억을 보관하고 있다가, 현재 들어오는 감각 정보와 비교하여 이것이 익숙한지 새로운지 판단하도록 돕는 것이죠. 예를 들어, 해마는 “이건 예전에 봤던 거야” 혹은 “처음 보는 거네”라는 신호를 뇌의 다른 부분에 보내 우리의 인식을 조절합니다. 이 덕분에 우리는 중요한 새로운 정보 에 주의를 기울이고, 이미 아는 것은 배경 소음처럼 무시할 수도 있습니다. 해마는 특히 대뇌피질의 한 부분인 내후각 피질 (entorhinal cortex)과 긴밀히 소통합니다. 내후각 피질은 오감에...

태백산, 산당, 서낭당 그리고 사람들┃답사 후기

[2017년 6월에 태백산 일대의 답사를 다녀와서 쓴 글입니다. 답사는 6월 3일부터 6월 4일까지. 후기 작성일 2017. 6. 7.] · · · 태백산에 다녀왔다. 천제단, https://www.khan.co.kr/local/Gangwon/article/202204281434001#c2b 난 답사를 싫어한다. 주위 사람들은 다 알고 있다. '왜 가야 하나'에 적절한 답을 가져본 적이 없다. 학부 때는 '학술'을 가장한 MT같은 것이니 어쩔 수 없다 싶었는데, 대학원에 들어와서는 그마저도 관심이 시들해졌다. '학'은 사라지고 '술'을 위해서 가는 것이라면 또 굳이 갈 이유가 있을까 싶기도 했다. (실제 답사가 다 그런 것은 아니다. 내가 답사에서 무언가 발견할 수 없었기 때문에 그렇게 느꼈던 것 같다) 그런데 박사수료 후부터 조금 달라졌다. 이제 '그곳'에 가면 이야기가 보이기 시작한다. 그것도 재미가 있다. 왜 그런가 싶었는데, 역시 수준 높은 연구자들과 함께 가서 그런 것 같다. 혼자 갔다면 도저히 그곳의 이야기, 그곳 사람들의 이야기를 듣지 못했을 터다. ('자기 문제의식'이 명료화 되었다는 점도 중요한 것 같기는 하다) '산악신앙'은 상식적으로는 '원시신앙'으로 학술적으로는 자연신앙 내지는 마을신앙과 관련된 민속신앙으로 이야기된다. 고도의 신학적 이야기, 그래서 인생의 의미를 음미하는 따위의 것이 담겨있지 않다. 그래서 상당히 빈곤하게 이해된다. 그런데 이번에 태백산 답사를 가서, 거기에 '인간'을 들여다 보는 '어떤 창'이 있다는 것을 새삼스럽게 확인하게 되었다. 산은 '신성한 곳'이다 태백산 같이 높은 산, 주변 지역의 '중심'이 되는 산은 특히 그렇다. 그런 산들은 일단 직접적으로 인간에게 '위험'하다. 맹수로부터 목숨을 위협 받을 수 있는 곳이다. 높...