Python의 requests 라이브러리를 사용하여 API 요청을 처리합니다. API 키와 블로그 정보를 적절히 입력하고 실행함.
import requests
# API 키
API_KEY = "YOUR_API_KEY"
# 블로그 정보
BLOG_NAME = "YOUR_BLOG_NAME"
CATEGORY_ID = "YOUR_CATEGORY_ID" # 업로드할 카테고리 ID
TAGS = ["tag1", "tag2"] # 업로드할 태그 목록
# 글과 그림 정보
POST_TITLE = "글 제목"
POST_CONTENT = "글 내용"
IMAGE_PATH = "path/to/image.jpg" # 업로드할 그림 파일 경로
# API 요청 URL
url = f"https://www.tistory.com/apis/post/write"
params = {
"access_token": API_KEY,
"output": "json",
"blogName": BLOG_NAME,
"title": POST_TITLE,
"content": POST_CONTENT,
"category": CATEGORY_ID,
"tag": ",".join(TAGS),
}
# 그림 파일 업로드 요청
files = {"uploadedfile": open(IMAGE_PATH, "rb")}
response = requests.post(url, params=params, files=files)
# API 요청 결과 확인
if response.status_code == 200:
data = response.json()
if data["tistory"]["status"] == "200":
print("글 업로드 성공!")
else:
print("글 업로드 실패:", data["tistory"]["error_message"])
else:
print("API 요청 실패:", response.status_code)
위의 코드에서 YOUR_API_KEY, YOUR_BLOG_NAME, YOUR_CATEGORY_ID 및 IMAGE_PATH를 실제 값으로 대체해야 합니다. 또한 TAGS 변수에 업로드할 글의 태그 목록을 지정할 수 있습니다.
이 예시 코드는 글 제목, 내용, 그림 파일 경로를 변수로 지정하여 API를 통해 업로드합니다. requests 라이브러리를 사용하여 POST 요청을 보내고, API 응답을 확인하여 업로드 결과를 출력합니다. 업로드 성공 시 "글 업로드 성공!"이 출력되고, 실패 시 실패 메시지가 출력됩니다.
이 코드를 참고하여 필요에 맞게 수정하고 실행해보세요. API 키와 블로그 정보, 글과 그림 정보를 적절히 설정하여 자동으로 글과 그림을 업로드할 수 있습니다.
이런 식으로 올리면 단순하게 글과 이미지 한개만 올라간다.
여러개의 그림이나 글을 올리려면 당연히 업로드 할때
HTML 형식으로 올려야 글 내용이 제대로 올라가진다.
import requests
# API 키
API_KEY = "YOUR_API_KEY"
# 블로그 정보
BLOG_NAME = "YOUR_BLOG_NAME"
CATEGORY_ID = "YOUR_CATEGORY_ID" # 업로드할 카테고리 ID
TAGS = ["tag1", "tag2"] # 업로드할 태그 목록
# 글 정보
POST_TITLE = "글 제목"
POST_CONTENT = """
<p>글 내용</p>
<p><img src="이미지_파일_경로" alt="이미지_설명"></p>
"""
# API 요청 URL
url = f"https://www.tistory.com/apis/post/write"
params = {
"access_token": API_KEY,
"output": "json",
"blogName": BLOG_NAME,
"title": POST_TITLE,
"content": POST_CONTENT,
"category": CATEGORY_ID,
"tag": ",".join(TAGS),
}
# API 요청
response = requests.post(url, params=params)
# API 요청 결과 확인
if response.status_code == 200:
data = response.json()
if data["tistory"]["status"] == "200":
print("글 업로드 성공!")
else:
print("글 업로드 실패:", data["tistory"]["error_message"])
else:
print("API 요청 실패:", response.status_code)
위의 코드에서 YOUR_API_KEY, YOUR_BLOG_NAME, YOUR_CATEGORY_ID, POST_TITLE, POST_CONTENT를 실제 값으로 대체해야 합니다. POST_CONTENT 변수에 HTML 형식의 글 내용을 작성할 수 있습니다. <img> 태그를 사용하여 이미지를 추가하고, src 속성에 이미지 파일 경로를 지정합니다. alt 속성은 이미지의 대체 텍스트로, 이미지를 설명하는 텍스트를 입력합니다.
이렇게 작성된 글 내용을 API 요청의 content 매개변수에 전달하여 업로드하면, 글 내용에 이미지가 포함된 글이 티스토리에 업로드됩니다.
이미지를 2개 이상 넣기 위해서는 글 내용에 여러 개의 <img> 태그를 추가하면 됩니다. 각 이미지에 대해 업로드를 수행한 후, 해당 이미지의 URL을 <img> 태그의 src 속성에 동적으로 삽입하면 됩니다. 아래는 이미지를 2개 넣는 예시 코드입니다:
import requests
# API 키
API_KEY = "YOUR_API_KEY"
# 블로그 정보
BLOG_NAME = "YOUR_BLOG_NAME"
CATEGORY_ID = "YOUR_CATEGORY_ID" # 업로드할 카테고리 ID
TAGS = ["tag1", "tag2"] # 업로드할 태그 목록
# 글 정보
POST_TITLE = "글 제목"
POST_CONTENT = "<p>글 내용</p>%s"
# API 요청 URL
upload_url = "https://www.tistory.com/apis/post/attach"
write_url = "https://www.tistory.com/apis/post/write"
# 이미지 파일 경로 리스트
image_files = [
"path/to/image1.jpg",
"path/to/image2.jpg",
"path/to/image3.jpg",
"path/to/image4.jpg",
"path/to/image5.jpg",
"path/to/image6.jpg",
"path/to/image7.jpg",
"path/to/image8.jpg",
"path/to/image9.jpg",
"path/to/image10.jpg",
]
# 이미지 파일 업로드
image_urls = []
for file_path in image_files:
image_file = open(file_path, "rb")
image_data = {"uploadedfile": image_file}
response = requests.post(upload_url, params={"access_token": API_KEY}, files=image_data)
# API 요청 결과 확인
if response.status_code == 200:
data = response.json()
if data["tistory"]["status"] == "200":
image_url = data["tistory"]["url"]
image_urls.append(image_url)
else:
print("이미지 업로드 실패:", data["tistory"]["error_message"])
else:
print("API 요청 실패:", response.status_code)
# 글 내용에 이미지 태그 추가
img_tags = ""
for url in image_urls:
img_tags += f'<p><img src="{url}" alt="이미지_설명"></p>\n'
POST_CONTENT = POST_CONTENT % img_tags
# 글 업로드
params = {
"access_token": API_KEY,
"output": "json",
"blogName": BLOG_NAME,
"title": POST_TITLE,
"content": POST_CONTENT,
"category": CATEGORY_ID,
"tag": ",".join(TAGS),
}
response = requests.post(write_url, params=params)
# API 요청 결과 확인
if response.status_code == 200:
data = response.json()
if data["tistory"]["status"] == "200":
print("글 업로드 성공!")
else:
print("글 업로드 실패:", data["tistory"]["error_message"])
else:
print("API 요청 실패:", response.status_code)
[이전글]
2023.06.15 - [프로그래밍/PYTHON] - [파이썬] PYTHON 을 활용한 티스토리 자동 포스팅 (with openapi-티스토리)(1/3)
[다음글]
2023.06.16 - [분류 전체보기] - [파이썬] PYTHON 을 활용한 티스토리 자동 포스팅 (다른 API 연동_자동 이미지넣기)(3/3)
'프로그래밍 > PYTHON' 카테고리의 다른 글
[파이썬] PYTHON 을 활용한 티스토리 자동 포스팅 (다른 API 연동_자동 이미지넣기)(3/3) (0) | 2023.06.16 |
---|---|
[파이썬] PYTHON 을 활용한 티스토리 자동 포스팅 (with openapi-티스토리)(1/3) (4) | 2023.06.16 |
[PYTHON]바이비트 API 사용_심볼 조회 (0) | 2022.01.24 |
[PYTHON]파이썬_URL 연결(버튼 클릭 시 원하는 URL연결) (0) | 2022.01.24 |
파이썬 속성 강의 – 1. 파이썬 설치 및 파이참 설치 (0) | 2021.02.06 |