본문 바로가기

Python

[Elasticsearch] 색인의 모든 문서를 반복 / 스크롤하는 방법 목적 인덱스 내의 전체 문서를 돌며 각 필드의 데이터를 가져와 처리를 해야 하는 경우 elastic search의 scroll을 이용하는 유용한 코드가 존재한다. 전체 코드 def iterate_all_documents(es, index, logger, pagesize=250, scroll_timeout="15m", **kwargs): """ Helper to iterate ALL values from a single index Yields all the documents. """ is_first = True while True: # Scroll next try: if is_first: # Initialize scroll result = es.search(index=index, scroll=scroll_.. 더보기
[WIL] 2021년 9월 넷째 주/ 10월 첫째 주 WIL 9월 넷째 주의 절반은 추석과 함께 실종되어버렸다. 그리하여.. 9월 넷째 주 WIL은 아래 세 게시글로 스무스하게 대체하려고 한다. [Python] Beutiful Soup4 - decompose() 와 extract() [Spark] SQL - explode()를 사용하여 list 형태의 Row 분리하기 [Spark] SQL - 두 컬럼을 병합하여 새로운 Dataframe 만들기 📝 10월 5일 (화) ▪️NLP - Word2Vec 모델 Load 시 UnicodeDecodeError UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 0: invalid start byte 해결 KeyedVectors.load_word2vec_for.. 더보기
[Python] Beutiful Soup4 - decompose() 와 extract() 목표 미디어 위키 페이지에서 중첩된 리스트 내의 요소들을 텍스트로 추출한다. 위와 같은 중첩 리스트에서 list 내의 text를 모두 추출한 결과 다음과 같았다. 중첩 리스트의 텍스트가 모두 추출되고, 그 다음 요소에 중복해서 등장한다. 따라서 두 list를 분리하기 위해 두 가지 방식을 알게 되었다. .decompose() 태그를 트리에서 제거한 다음, 그와 그의 내용물을 완전히 파괴한다. lists = content.find_all('li') for idx in range(len(lists)): if lists[idx].ul is not None: lists[idx].ul.decompose() text = lists[idx].text print(f"{idx} 번째 list : {text}") 그 결과.. 더보기
[WIL] 2021년 9월 셋째 주 WIL 📝 9월 13일 (월) ▪️ MediaWiki 미디어위키 텍스트 원문 보기 원래 주소 뒤에 action=raw를 추가 https://도메인/wiki/글제목?action=raw Ex) 위키백과의 삼성 갤럭시 버즈 페이지 ?action=raw를 추가하여 원문 확인한 결과 https://ko.wikipedia.org/wiki/삼성_갤럭시_버즈?action=raw Ref. https://zetawiki.com/wiki/미디어위키_텍스트_원문_보기 wiki extractor에서 개체명의 language템플릿을 보존하여 text 추출하기 wiki extractor를 이용하여 plain text 추출 시 개체명의 외국어 명이 담긴 language template은 제거되어버리는 issue가 있었다. 삼성 갤럭시 버즈.. 더보기
[WIL] 2021년 9월 둘째 주 WIL 📝 9월 6일 (월) ▪️ Tistory 커스터마이징 하이퍼링크 색상 설정 내 티스토리의 하이퍼링크는 링크답지가 않았기 때문에.... 스킨 편집 > CSS > 맨 아래에 코드를 추가해주었다. .entry-content a { color: #0366d6 !important; text-decoration: none; # 밑줄 추가하고 싶다면 none -> underline } .entry-content a:hover { color: #0366d6 !important; } 인라인 코드 테마 설정 인라인 코드 또한 정말 자기 주장이 없었다. 스킨 편집 > CSS > html, body { } 아래에 코드를 추가해주었다. code { background-color: #272822; color: #f8f8f2; p.. 더보기
[Python] 백준 알고리즘 5단계: 1차원 배열 🔗 제출 답안 Github 링크 GitHub - dbj2000/TIL: 본 레포는 학습의 일상화(1일 1커밋) 를 위한 레포지터리입니다. 본 레포는 학습의 일상화(1일 1커밋) 를 위한 레포지터리입니다. Contribute to dbj2000/TIL development by creating an account on GitHub. github.com 10818_최소최대.py 1546_평균.py 2562_최댓값.py 2577_숫자의개수.py 3052_나머지.py 4344_평균은넘겠지.py 8959_OX퀴즈.py 💡 문제 풀이 중 알게된 내용 📑 2562_최댓값 문제 中 # 임의의 개수의 정수를 n줄 입력받아 1차원 리스트에 저장 data = [] for i in range(9): data.append(in.. 더보기
[WIL] 2021년 9월 첫째 주 WIL 📝 8월 30일 (월) ◾️ Boj 알고리즘 단계별 - 함수 (Github TIL 레포 - 함수) 155962_정수N개의합 4673_셀프넘버 ◾️ AWS 무료 티어 시작하기 사이드 프로젝트였던 서비스의 모델을 개선시키고 웹앱으로 배포까지 진행시키기 위해 클라우드 서비스를 이용해보고자함 무료로 시작 할 수 있는 AWS의 EC2(Elastic Compute Cloud) 인스턴스를 생성하고 SSH를 통해 접근 (게시글로 이동) Ref. 초보자를 위한 aws웹구축 웹서버 아키텍처 소개 AWS 시작하기 - 기본 웹 애플리케이션 구축 ◾️ 코드 리팩토링 main에서는 중요한 프로세스만 확인할 수 있도록 특정 기능은 따로 파일을 분리해서 관리 다른 모듈 import시 전체 * 보다는 해당 파일에서 사용하고자하는 모듈.. 더보기