기타/스크랩
N2T에서 토글버튼을 닫힌 채로 포스팅하기 : 셀프 개선, beautifulsoup, HTML details tag
이승보
2023. 4. 12. 11:09
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']
- 되게 간단하게 해결할 수 있을지 알았는데…생각보다 헤매면서 오전시간을 다 써서 해결했다.
(그래도 누군가의 도움없이 직접 해결하고 나니 뿌듯하구나!)
- 구글링을 제법 해봤는데도 딱 똑같은 사례가 안나오는 이유가 뭘까 생각해봤는데
- 우선 beautifulsoup를 쓰는 사람들 대부분은 크롤링을 위해서 사용하는 것이니 N2T(Notion to Tistroy)와 같은 역할로 쓰는 사람이 덜해서 그런 것이기도 할테고(외국에도 노션 글을 다른 블로그사이트로 포스팅하는 사람들이 있을 듯 한데…)
- 일반적인 웹에서 ‘details’라는 토글 태그를 많이 안쓰는 것도 요인 중에 하나인 듯 하다. (개인적으로 나는 노션에서 토글 태그를 많이 쓰는 편이긴 한데 일반적인 블로그나 웹에서 토글은 별로 안보이긴 한다..)
- 구글링 할 때 ‘soup.find_all(’details’)’ 라든지 ‘del detail[’open’]’ 이라는 거랑 이것저것 조합을 해서 검색을 했는데… detail 이라든지 open 이라는 단어가 너무 흔하게 사용되는 단어라서 내가 원하는 detail 태그라든지 open 속성을 딱 타겟팅하는게 어려웠다.
- 깔끔한 방법은 아니지만 내가 해결한 방법은
- details = soup.find_all('details') # soup.find_all(’details’) 로 태그 추출하기 : 여러 개의 토글이 있을 수 있으므로 find_all 사용
- l_detail = list(detail) # find_all 로 가져올 경우 ‘tuple’ 타입으로 되어서 수정이 불가함. 그래서 list 타입으로 변경
- del l_detail[1]['open'] # list의 첫 번째 값이 실제 찾고자 하는 details 태그 값이므로 거기서 open 속성 값 삭제!
중복으로 여러 개를 테스트 해봐도 잘 되니까 앞으로 잘 써먹어야겠군.
그나저나 사실 오늘은 백패킹 다녀온 거 너무 많이 밀려서 하나라도 포스팅 하자! 라고 마음먹었는데 오히려 다른걸로 오랜만에 포스팅을 해버리네 ㅋㅋ
아래는 참고사이트들
- N2T (Notion To Tistory) 개발자분의 블로그
위에서 내가 개선했다고 하는 코드들은 모두 N2T 원 개발자분이 깃허브에 공유해주신 거에서 수정한 내용이므로 혹시나 개발자분이 해당 내용 공개를 원하지 않으시면 언제든 지우겠습니다!
- HTML ‘details’ 태그의 ‘open’ 속성에 관해
3.Beautiful Soup 공식문서 - Attributes 삭제 방법
4.파이썬 튜플(tuple) 값 수정 방법
Uploaded by N2T
728x90
반응형