3편에서는 워드프레스에 이미지를 업로드하는 방법을 알아보겠습니다. 이 부분과 글쓰기 부분이 잘 접목되어야 완성도 있는 포스팅을 할 수 있게 됩니다. 오늘은 간단하게 이미지를 워드프레스로 옮겨서 미디어 라이브러리에서 확인하는 방법까지 포스팅할까 합니다.
이미지 업로드 예제
import requests
# 워드프레스 REST API 엔드포인트 URL
url = 'https://sibmanwon.com/wp-json/wp/v2/media'
# 이미지 업로드
image_path = '이미지 경로/20231006.jpg'
files = {'file': open(image_path, 'rb')}
auth = ('wordpress id', 'xxxx xxxx xxxx xxxx xxxx xxxx')
response = requests.post(url, files=files, auth=auth)
# 업로드된 이미지의 ID 가져오기
if response.status_code == 201:
image_id = response.json()['id']
print('이미지 업로드 성공적!')
print('이미지 ID:', image_id)
print(response.json())
else:
print('업로드 실패')
print('에러 메시지:', response.text)
exit()
글쓰기와 이미지 업로드의 rest api url의 엔드포인트는 마지막이 다릅니다. 이점 확인해주시고, 업로드할 이미지 경로를 정확하게 입력합니다. 루트 디렉토리부터 다 적으셔도 되고 함수를 이용할 수도 있습니다.
auth 변수에 워드프레스 id와 프로그램 패스워드를 기입합니다.
정상적으로 업로드 되었다면 201 response 메세지와 함께 워드프레스 미디어 라이브러리에 이미지가 등록된 걸 확인할 수 있습니다.
실행 결과
response.json() 을 출력해보면 해당 이미지의 메타데이터를 확인할 수 있습니다. 필요한 딕셔너리를 별도 추출해서 포스팅 시 사용할 수 있겠습니다. 이미지 ID 별도로 출력한 걸 보시면 알 수 있으시겠죠~
이미지 업로드 성공적!
이미지 ID: 657
{'id': 657, 'date': '2023-10-06T17:34:26', 'date_gmt': '2023-10-06T08:34:26', 'guid': {'rendered': 'https://sibmanwon.com/wp-content/uploads/2023/10/20231005.jpg............
워드프레스 CMS > 미디어 라이브러리에 이미지가 정상적으로 올라온 걸 확인할 수 있습니다.