티스토리 네이버 블로그 정보

네이버 블로그 자동 포스팅 만들기 - requests로 글쓰기 3편

it대왕 2025. 1. 26. 01:54

이전 글에서는 텍스트 기반의 블로그 글을 자동으로 작성하는 방법을 알아보았습니다. 이번 글에서는 requests를 활용하여 블로그 글에 이미지를 포함시키는 방법과 추가적인 설정 요소를 적용하는 고급 기술을 다루겠습니다. 이미지 업로드는 시각적인 요소를 강화하여 독자들에게 더 매력적인 콘텐츠를 제공하는 데 필수적입니다.


1. 이미지 업로드 요청 분석

이미지를 포함한 글쓰기를 구현하려면, 네이버 블로그의 이미지 업로드 API를 이해해야 합니다. 개발자 도구의 네트워크 탭을 통해 이미지 업로드 요청을 분석한 결과, 다음 데이터를 확인할 수 있었습니다:

  • Request URL: 네이버 이미지 업로드 API의 엔드포인트
  • Headers: 요청에 필요한 인증 정보(User-Agent, Referer, Content-Type 등)
  • Payload: 업로드될 이미지 파일 및 관련 데이터

2. 이미지 업로드 구현

이미지를 업로드하기 위해 requests의 파일 업로드 기능을 활용합니다. 아래는 예제 코드입니다:

import requests

def upload_image(file_path, session, blog_id):
    url = "https://blog.naver.com/UploadImage.naver"
    headers = {
        "Referer": f"https://blog.naver.com/{blog_id}",
        "User-Agent": "Mozilla/5.0"
    }
    files = {
        "image": open(file_path, "rb")  # 이미지 파일 경로
    }
    response = session.post(url, headers=headers, files=files)

    if response.status_code == 200 and "success" in response.text:
        print("이미지 업로드 성공!")
        return response.json().get("image_url")  # 업로드된 이미지 URL 반환
    else:
        print("이미지 업로드 실패")
        return None

3. 업로드된 이미지 포함한 글쓰기

이미지 업로드에 성공하면, 반환된 이미지 URL을 글쓰기 데이터에 포함합니다. 다음은 블로그 글에 이미지를 포함시키는 데이터 형식입니다:

{
    "blogId": "your_blog_id",
    "documentModel": {
        "documentId": "",
        "components": [
            {
                "id": "unique-id",
                "layout": "default",
                "title": [
                    {
                        "id": "title-id",
                        "value": "블로그 글 제목"
                    }
                ],
                "value": "https://uploaded_image_url.com' alt='업로드된 이미지'> 본문 내용"
            }
        ]
    }
}

4. requests로 이미지 포함 글 작성하기

이제 이미지 URL을 포함한 데이터로 글쓰기 요청을 보냅니다:

def post_blog_with_image(session, blog_id, image_url, title, content):
    url = "https://blog.naver.com/RabbitWrite.naver"
    headers = {
        "Content-Type": "application/x-www-form-urlencoded",
        "Referer": f"https://blog.naver.com/{blog_id}",
        "User-Agent": "Mozilla/5.0"
    }
    data = {
        "blogId": blog_id,
        "documentModel": {
            "documentId": "",
            "components": [
                {
                    "id": "unique-id",
                    "layout": "default",
                    "title": [{"id": "title-id", "value": title}],
                    "value": f" {content}"
                }
            ]
        },
        "populationParams": {
            "configuration": {"commentYn": True, "searchYn": True}
        }
    }
    response = session.post(url, headers=headers, json=data)

    if response.status_code == 200:
        print("블로그 글 작성 성공!")
    else:
        print(f"블로그 글 작성 실패: {response.status_code}")

리뷰를 마치며

이번 글에서는 requests를 사용해 네이버 블로그에 이미지를 업로드하고, 이를 포함한 글을 작성하는 방법을 알아보았습니다. 이미지 업로드는 추가적인 API 호출과 데이터 구성이 필요하지만, 구현 후에는 블로그 글을 시각적으로 강화할 수 있는 강력한 도구가 됩니다. 다음 글에서는 이미지와 태그 설정, 그리고 포스트 발행 최적화를 다룰 예정입니다.

 

 

네이버 블로그 자동 포스팅 만들기 - requests로 글쓰기 6편

네이버 블로그 자동화 작업은 코드의 안정성과 성능이 중요한 프로젝트입니다. 요청 처리 속도를 최적화하고, 코드 유지보수를 용이하게 하기 위한 전략이 필요합니다. 이번 글에서는 자동화

koaliexpress.tistory.com

 

 

네이버 블로그 자동 포스팅 만들기 - requests로 글쓰기 5편

블로그 글 작성 자동화를 구현할 때, 예상치 못한 오류가 발생할 수 있습니다. 서버 응답 오류, 데이터 포맷 문제, 인증 실패 등 다양한 문제가 발생할 수 있으며, 이를 효과적으로 처리하는 것은

koaliexpress.tistory.com

 

 

네이버 블로그 자동 포스팅 만들기 - requests로 글쓰기 4편

이전 글에서는 네이버 블로그에 글을 작성하는 기본적인 과정을 다루었습니다. 이번 글에서는 블로그 글 작성 시, 요청 데이터에 추가적인 설정을 포함하여 더욱 세부적인 제어가 가능하도록

koaliexpress.tistory.com

 

 

네이버 블로그 자동 포스팅 만들기 - requests로 글쓰기 3편

이전 글에서는 텍스트 기반의 블로그 글을 자동으로 작성하는 방법을 알아보았습니다. 이번 글에서는 requests를 활용하여 블로그 글에 이미지를 포함시키는 방법과 추가적인 설정 요소를 적용하

koaliexpress.tistory.com

 

 

네이버 블로그 자동 포스팅 만들기 - requests로 글쓰기 2편

이전 글에서는 requests를 활용하여 네이버 블로그 로그인 과정을 구현하는 방법을 살펴보았습니다. 이제 로그인된 상태에서 네이버 블로그에 글을 작성하는 방법을 단계별로 설명하겠습니다. 특

koaliexpress.tistory.com

 

 

 

네이버 블로그 자동 포스팅 만들기 - requests로 글쓰기 1편

파이썬을 배우기 시작하면서, 많은 사람들이 자동화를 위한 도구로 셀레니움을 접합니다. 하지만, 셀레니움은 느린 속도와 높은 리소스 사용량으로 인해 다른 대안을 찾게 되는 경우가 많습니

koaliexpress.tistory.com