반응형
안녕하세요.
이번 글에서는 Python으로 지라나 위키 등 atlassian의 페이지들을
손쉽게 크롤링할 수 있는 api 모듈에 대하여 간략하게 소개를 진행해보도록 하겠습니다.
모듈 설치
이 기능은 atlassian-python-api 모듈을 통해서 진행되는데요.
설치는 다음 명령어로 쉽게 진행이 가능합니다.
pip install atlassian-python-api
참고로, 해당 모듈의 사용법은 아래 링크의 공식 document에 자세히 열거되어 있으므로,
디테일한 사용 방법은 해당 문서를 참고해주시길 바랍니다.
https://atlassian-python-api.readthedocs.io/
Confluence API 사용 예시
대표적으로 위키 페이지를 구성하는 confluence API를 사용하는 예시를 살펴보겠습니다.
먼저 confluence 인스턴스에 연결해야 합니다.
예시 코드 스니펫은 다음과 같습니다.
from atlassian import Confluence
# confluence 메인 페이지 url과 id/pw 정보를 입력
confluence = Confluence(
url='https://your-confluence-instance-url',
username='admin',
password='admin'
)
# 참고: pw 대신 token 인자로 PAT Token도 사용 가능
이제 인스턴스 연결이 완료되었다면 다양한 작업을 수행할 수 있는데요.
page_id를 통하여 특정 페이지 정보를 가져오는 예시를 살펴보면 다음과 같습니다.
doc_id = '123456'
page = confluence.get_page_by_id(doc_id, expand='body.view') # 추가 정보 선택 가능
print(page) # json 포맷
결과는 json 포맷으로 등장하며, 해당 페이지에 대한 다양한 메타데이터를 포함합니다.
또한, 페이지를 생성하거나 업데이트하는 등의 더 높은 권한의 작업도 원격 수행이 가능합니다.
# 특정 페이지 만들기
confluence.create_page(
space='SPACE_KEY', # 해당 문서가 위치할 공간에 대한 key 값(space 관련 메소드로 조회 가능)
title='New Page Title',
body='<h1>Hello, this is a new page</h1>',
parent_id='123456' # 상위 디렉토리 페이지를 지정해야 할 경우 page_id 값
)
# 특정 페이지 업데이트
confluence.update_page(
page_id=doc_id, # 업데이트하려는 page_id 값
title='Updated Page Title',
body='<h1>This page has been updated!</h1>'
)
이 외에도 매우 다양한 기능들이 존재하지만 상세한 내용들을 모두 다루기에는
매우 방대하기에 공식 document를 참고하셔서 작업을 진행해주시면 됩니다.
이 글이 atlassian 관련 작업을 수행하는 과정에서 길잡이가 되었기를 기원합니다.
감사합니다.
'Python > Crawling' 카테고리의 다른 글
파이썬 셀레니움 함수 비동기(async)로 실행 방법 (2) | 2024.07.19 |
---|---|
파이썬 Selenium으로 Network 패킷 크롤링 예제 (0) | 2024.06.21 |
셀레니움에서 텍스트 입력 시 줄 바꿈이 안될 때 해결 방법 (1) | 2023.10.13 |