본문 바로가기
기타/스크랩

N2T에서 토글버튼을 닫힌 채로 포스팅하기 : 셀프 개선, beautifulsoup, HTML details tag

by 이승보 2023. 4. 12.
728x90

  • 토글 닫힌 채로 포스팅하기 테스트
    • 두근두근 될 것인가
      • 제발 되어라
        • 전부다 닫힌채로 되긴 하겠지만 ㅋ
          • ㅇㅇ
  • 테스트2
    • 하이
  • 테스트3
    • 바이

중간에 다른 값

  • 테스트4
    • ㅇㄹ
      • dasdf

테스트 결과는?

  • 짜잔
    • 훗 성공!

N2T : 토글버튼을 닫힌 채로 티스토리 포스팅하기

beautifulsoup : details 태그 open 속성 삭제하기 (delete ‘open’ attribute at ‘details’ tag on beautifulsoup)

/Users/sb/ㅇㅅㅂ/notion2tistory/N2T-master/utils/parse.py

#################################
    # toggle(=details)를 닫은 상태가 기본이 되게 하기
    #################################

    # details 태그를 find_all 해주기
    details = soup.find_all('details')
    # 여러 개의 details 태그들에서 각각 for문 돌려주기
    for detail in enumerate(details):
        # 기본적으로 find_all 해주면 'tuple'타입이 되어서 수정이 불가능하므로 list로 변경
        l_detail = list(detail)

        # list의 1번째가 실제 tag 값임. 타입은 class 'bs4.element.tag'
        # 이 값 안에 있는 'open'이라는 속성을 모두 삭제. 그러면 toggle이 중첩되어 있어도 다 삭제됨.
        del l_detail[1]['open']

  • 되게 간단하게 해결할 수 있을지 알았는데…생각보다 헤매면서 오전시간을 다 써서 해결했다. (그래도 누군가의 도움없이 직접 해결하고 나니 뿌듯하구나!)
    1. 구글링을 제법 해봤는데도 딱 똑같은 사례가 안나오는 이유가 뭘까 생각해봤는데
    1. 우선 beautifulsoup를 쓰는 사람들 대부분은 크롤링을 위해서 사용하는 것이니 N2T(Notion to Tistroy)와 같은 역할로 쓰는 사람이 덜해서 그런 것이기도 할테고(외국에도 노션 글을 다른 블로그사이트로 포스팅하는 사람들이 있을 듯 한데…)
    1. 일반적인 웹에서 ‘details’라는 토글 태그를 많이 안쓰는 것도 요인 중에 하나인 듯 하다. (개인적으로 나는 노션에서 토글 태그를 많이 쓰는 편이긴 한데 일반적인 블로그나 웹에서 토글은 별로 안보이긴 한다..)
    1. 구글링 할 때 ‘soup.find_all(’details’)’ 라든지 ‘del detail[’open’]’ 이라는 거랑 이것저것 조합을 해서 검색을 했는데… detail 이라든지 open 이라는 단어가 너무 흔하게 사용되는 단어라서 내가 원하는 detail 태그라든지 open 속성을 딱 타겟팅하는게 어려웠다.
  • 깔끔한 방법은 아니지만 내가 해결한 방법은
    1. details = soup.find_all('details') # soup.find_all(’details’) 로 태그 추출하기 : 여러 개의 토글이 있을 수 있으므로 find_all 사용
    1. l_detail = list(detail) # find_all 로 가져올 경우 ‘tuple’ 타입으로 되어서 수정이 불가함. 그래서 list 타입으로 변경
    1. del l_detail[1]['open'] # list의 첫 번째 값이 실제 찾고자 하는 details 태그 값이므로 거기서 open 속성 값 삭제!

중복으로 여러 개를 테스트 해봐도 잘 되니까 앞으로 잘 써먹어야겠군.

그나저나 사실 오늘은 백패킹 다녀온 거 너무 많이 밀려서 하나라도 포스팅 하자! 라고 마음먹었는데 오히려 다른걸로 오랜만에 포스팅을 해버리네 ㅋㅋ

아래는 참고사이트들

  1. N2T (Notion To Tistory) 개발자분의 블로그
Notion에서 Tistory로 자동 업로드 #8 (N2T)
개요드디어 Notion에서 Tistory 옮기는 코드를 정리해서 공개하려고 합니다. 처음 작업을 시작한지가 벌써 1년 반 정도가 지난 것 같네요. 지금까지 오픈하지 못했던 이유는 코드가 너무 지저분했고, 개개인마다 설정해줘야 하는 다양한 번거로움이 있었습니다. 지금은 어느정도 해결된 부분이 있어 최소한의 설정 파일로 동작하도록 개발하였습니다.아래는 N2T 코드 github 링크 입니다.https://github.com/jmjeon94/N2T기능아래와 같은 노션 테이블 페이지에서 상태 컬럼을 발행 요청/수정 요청으로 두면 해당 내용이 자동으로 티스토리 블로그로 업로드 해줍니다.준비사항Python 등 개발관련 기초 지식크롬 부라우저 (selenium 사용)카카오와 연동된 티스토리 계정티스토리 Open API..
https://minimin2.tistory.com/176#comment21757360

위에서 내가 개선했다고 하는 코드들은 모두 N2T 원 개발자분이 깃허브에 공유해주신 거에서 수정한 내용이므로 혹시나 개발자분이 해당 내용 공개를 원하지 않으시면 언제든 지우겠습니다!

  1. HTML ‘details’ 태그의 ‘open’ 속성에 관해
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
http://www.tcpschool.com/html-tag-attrs/details-open

3.Beautiful Soup 공식문서 - Attributes 삭제 방법

Beautiful Soup Documentation — Beautiful Soup 4.4.0 documentation
https://beautiful-soup-4.readthedocs.io/en/latest/index.html

4.파이썬 튜플(tuple) 값 수정 방법

파이썬 튜플 값 추가 수정 삭제 합치기 방법
파이썬의 튜플의 특징은 변경이 될 수 없다는 것이다. 추가, 수정, 삭제 등이 될 수 없다는 것이다. 리스트를 이용하면 튜플의 내용을 변경할 수 있다. 튜플의 내용을 변경하고 싶다면 리스트로 변환한 후 리스트의 내용을 수정 후 다시 튜플로 변환하면 된다. 그리하면 튜플의 내용을 변경할 수 있다. 파이썬 튜플 변경하는 방법 파이썬의 튜플의 데이터는 변경할 수 없다. 그렇기에 리스트로 변환 후 리스트의 내용을 다시 튜플로 만든다. 변경이 아닌 튜플의 내용을 새롭게 만드는 것이 정확한 표현일 것이다. 튜플을 리스트로 변환한다. 리스트의 내용을 변경한다. 리스트를 튜플로 변환한다. 튜플 값 수정 방법 튜플의 내용을 변경하기 위해 리스트로 변환하고 값을 변경한 후 다시 튜플로 변환해 본다. 리스트의 내용을 변경하..
https://lngnat.tistory.com/entry/파이썬-튜플-값-추가-수정-삭제-합치기-방법


Uploaded by N2T

728x90
반응형

댓글