파이썬에서 datetime.timezone()을 이용한 시간대 설정

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/datetime-timezone 파이썬에서 datetime.timezone()을 이용해서 datetime 객체의 시간대를 설정할 수 있습니다. 예를 들어 한국시간(KST)은 GMT+9시간이므로 아래와 같이 설정해서 현재 시각을 구할 수 있습니다. import datetime KST = datetime.timezone(datetime.timedelta(hours=9)) now_kst = datetime.datetime.now(tz=KST) 시간대 정보가 없는 datetime 객체의 경우에는 앞의 예제 코드에서 정의된 변수 KST를 이용해서 아래와 같이 시간대를 할당할 수 있습니다. # 시간대 정보 없는 UTC 기준 현재시각 가져오기 - utcnow() now = datetime.datetime.utcnow() # 시간대 정보 추가 now_kst = now.astimezone(KST) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬 beem에서 특정 포스트의 이미지와 태그 확인하기

by joviansummer
original STEEMIT post: https://steemit.com/blog/@joviansummer/21zrt3-beem


사람은 포스트 내용을 보고 이미지와 태그가 있는 것을 즉각적으로 알지만, 프로그램이 포스트에서 이미지와 태그를 확인하려면 포스트 데이터에 포함된 json_metadata라는 항목을 이용해야 합니다.

파이썬 beem에서 특정 포스트에 이미지가 있는지 없는지 간편하게 판별할 수 있습니다. Comment 객체를 이용해서 대상 포스트의 데이터를 가져온 후, 딕셔너리(dict) 형식으로 제공되는 json_metadata 항목에 "image"라는 키(key)가 있는지 확인하면 됩니다. 대상 포스트는 오소펌(authorperm)으로 식별합니다.

아래와 같이 해 볼 수 있겠습니다. 스팀 기준입니다.

from beem import Steem
from beem.comment import Comment

node_list = ["https://api.steemit.com"]

steem = Steem(node=node_list)

authorperm = "joviansummer/pfpzd-jsteem-ops"

comment = Comment(authorperm, blockchain_instance=steem)

# comment['json_metadata'] 딕셔너리 키(key)에 "image"가 포함되어 있는지 확인
if 'image' in comment['json_metadata']:
  print("포스트에 이미지가 포함되어 있습니다. 이미지 url은 아래와 같습니다")
  for img_url in comment['json_metadata']['image']:
    print(img_url)
else:
  print("포스트에 이미지가 포함되어 있지 않습니다.")

이미지 url 목록은 comment['json_metadata']['image']에 리스트(list) 형태로 제공됩니다. 따라서 위의 예시처럼 for 반복문으로 이미지 url을 차례로 출력할 수 있습니다.

포스트에 포함된 태그(tag) 목록도 json_metadata에 있습니다. 따라서, 위의 코드를 응용해서 포스트에 특정 태그가 포함되어 있는지 판별할 수도 있습니다. 위의 예시에서 태그 목록은 리스트(list) 형식으로 comment['json_metadata']['tags']에 할당되어 있습니다. 아래와 같은 코드로 태그 목록을 출력할 수 있을 것입니다.

for tag in comment['json_metadata']['tags']:
  print(tag)

포스트 식별자로 사용되는 오소펌과 펌링크(permlink) 관련 내용은 이전 포스팅을 참고하시기 바랍니다. 아래의 링크입니다.

펌링크(permlink) 관련 내용 간략하게 정리


@joviansummer의 스팀 프로젝트

스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)

jswit 증인 노드 프로젝트를 시작합니다.

jsup 업보팅(upvoting) 서비스 소개

jsup 수혜자 지정 기능 추가

jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기

Comments

Popular posts from this blog

Nuitka - 파이썬 스크립트를 바이너리 실행 파일로 변환

파이썬에서 스팀잇 ID 및 포스팅 키 유효성 확인

파이썬에서 시간대(timezone) 변경