기본 콘텐츠로 건너뛰기

라벨이 python인 게시물 표시

python 자료의 유형

파이썬을 공부할 때, 기본 중의 기본이지만 대충 넘어간 부분이 자료형(type)에 관한 것이다. 어떤 함수는 type이 숫자만, 어떤 건 문자열만 받는다고 하는데, 머리 속에서 확실히 정리되지는 않는다. 그냥 그때그때 처리하기 바쁜데.. 사실 error 코드 보고 대처하는 수준밖에 안 된다. 공부 겸으로 한 번 정리해 본다. 근데 솔찍히 이런 그림 처음 본다. 자료형에 integer(정수), float, string(문자열), list(리스트) 정도가 익숙할 뿐이다. 파이썬 데이터 타입의 상위 분류가 '가변형', '불변형' 인 것도. 강사들이 그런 이야기를 하는 경우를 듣긴 했던 것 같은데... 수업을 건성으로 들은 사람의 한계다. 그 다음으로 숫자 타입, 시퀀스 타입, 리스트 타입, 사전 타입, 세트 타입 으로 나뉘고, 숫자 타입의 경우에 정수형, 소수형 (실수?), 불 형 (0, 1: 참, 거짓) * , 위 그림에는 없지만 복소수 형 이 있다. * 위 그림에서는 숫자 타입으로 분류하지만, 통상 불 형을 더 상위 수준 분류로 말하는 경우가 많다. 시퀀스 타입에 문자열 형, 튜플 형 으로 분류되는 것도 처음 알았다(분류를 어떻게 묶느냐에 따라 다르긴 하지만). 데이터의 유형을 확인할 때 사용하는 함수 type( )은 익숙하다. 자주 사용하는 함수다. jupyter를 이용해서 숫자 타입들을 찍어보면 다음과 같은 결과를 알 수 있다. 그동안 ' 복소수 '는 어떻게 다루는지 몰랐는데 'a+bj' 스타일로 쓴다. 'i'는 for문에서 주로 변수로 사용해서 못 쓰게 해 놓았는지는 모르지만 'a+bi' 형태로 쓰면 type( ) 함수에서 error가 발생한다. π 값을 어떻게 입력하는지 몰랐는데, 무한소수를 컴으로 다루는 건 한계가 있을 테니 일정 소수점에서 자른 수를 사용하고 있었다. π 값을 불러 오려면 math 라이브러리를 import해야 했다. 역시 소수니 'float

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

블로그 이사와 웹스크래핑 공부 (1)

코딩, 맛만 봤던 사람으로서 참 험난한 길을 걷고 있다. 티스토리의 만행에 열폭하여 '블로그 이사'를 선언했는데, 그 실현의 길은 어렵기만 하다. 50여건의 글을 수동으로 스크래핑을 해 보았지만 남은 게시물은 여전히 800건 가까이 된다. 학부 때부터 작성해 온 게시물을 네이버 블로그에서 티스토리를 거쳐 쌓아 놓았으니 결코 적지 않은 양이다. 그 중에 '재활용'의 의미가 있는 것이 얼마나 될지는 모르겠지만 지울 건 지우고 옮겨오려 한다. 급한 마음에 문과출신스럽게 접근한다면 '계속' 수동으로 copy & paste(복사/붙이기)를 해야 할 것이다. 한 두 번 해보았다. 15건 정도를 처리하는 데 1시간 정도는 걸렸던 것 같다. 정신 차리고 빠릿빠릿하면 40분 정도가 될지도 모르지만. 수동의 길은 이렇다. 1) 티스토리 로그인, 2) 글관리 도구로 들어가서, 3) 해당 글을 띄운 뒤, 4) 글 수정 모드에서 글과 제목을 copy해서, 5) Word * 에 붙여넣기하고, 6) 저장하되 7) 작성 시간과 제목으로 파일명을 부여해서 완료하고, 8) 해당 글을 과거 블로그에서 삭제하는 것으로 글의 백업을 할 수 있다. *  .txt를 쓸 수도 있지만 .docx를 쓰려 한 것은 이미지도 함께 copy&paste가 되어 좋으며, 용량도 15kb-500kb 정도로 적기 때문이다. 수동 스크래핑 방법 중 가장 편리한 것은 브라우저에서 pdf로 인쇄하는 것이긴 하다. 그 경우 용량은 2mb 내외가 된다. 새로운 블로그에 글을 재게재하는 것은 또 다른 일이 된다. word 파일에서 긁어다가 붙이는 건 text만 가능하고 이미지는 별도로 업로드 해야 하니. 이런 걸 프로그래밍해서 백업 파일을 만들고, 그 백업 파일을 자동으로 업로드할 수 있다면 좋을 것이다. 그러나 지금으로서는 백업은 자동으로 하고, 업로드는 선별과 수정 작업을 거쳐야 할 것 같다. 쓸만한 옛날 글을 재활용 한다고 할 때 어색한 문장이나 바뀐 생각을 반영해서