jsonscraper
시장
저널로 돌아가기

TikTok 공개 동영상에서 광고 공개 여부 확인하기

Python 스크립트로 브랜드 검색 결과를 수집하고, 명시적인 광고 문구를 표시해 수동 검토 목록을 만듭니다

편집 정책 오류 제보

브랜드 언급과 명시적인 광고 문구가 있는 공개 TikTok 동영상을 선별하려면 여러 검색어로 결과를 수집하고, 캡션을 추출해 표시 문구를 찾아보세요. 결과물은 링크와 사용 가능한 지표를 담은 CSV, 즉 사람이 검토할 목록입니다. 규정 준수 여부를 자동으로 판정하는 결과가 아닙니다.

이 절차는 에이전시가 캠페인을 브리프와 대조하거나 사내 팀이 공개된 언급 목록을 관리할 때 유용합니다. 검색 결과를 체계화하고, 분석가가 어떤 영상을 열어 살펴볼지 판단하는 근거를 보존합니다.

동영상에서 무엇을 찾아야 할까요?

광고 검토에서는 제작자와 브랜드의 관계, 그리고 추천 내용과 함께 그 관계가 어떻게 공개되는지가 중요합니다. FTC 인플루언서 가이드에 따르면 중요한 관계에는 금전적·고용상·개인적·가족 관계가 포함될 수 있으며, 공개 내용은 눈에 잘 띄고 이해하기 쉬워야 합니다. 동영상 추천의 경우 FTC는 공개 내용을 설명란에만 두지 말고 영상 자체에 표시하라고 안내합니다. 따라서 캡션은 분류에 유용하지만, 시청자가 화면에서 보거나 오디오로 들은 내용까지 보여주지는 않습니다.

이 스크립트의 범위는 더 좁습니다. 반환된 검색 결과 중 캡션에 브랜드 문구와 ‘광고’, ‘스폰서’, ‘파트너십’ 같은 잠재적 표시 문구가 포함된 동영상을 찾습니다. 용어 목록은 캠페인의 언어와 용어에 맞게 조정해야 합니다. 캡션에서 표시 문구를 찾지 못했다면 동영상을 열어 내용을 확인하세요. 텍스트가 일치한다고 해서 영상 자체에 공개 내용이 있는지 알 수는 없습니다.

검색 결과를 검토 목록으로 만드는 방법

브랜드명, 캠페인명, 제품의 흔한 표기 등 소수의 검색어를 준비하세요. 검색어별로 각각 실행하고, 결과와 함께 검색어를 저장합니다. 그러면 팀에서 어떤 검색어로 동영상을 찾았는지 확인하고 필요할 때 수집을 반복할 수 있습니다.

기사: TikTok 공개 동영상에서 광고 공개 여부 확인하기
요약: 마케팅팀은 브랜드가 언급된 공개 TikTok 동영상과 광고 공개 가능성이 있는 게시물을 선별해야 할 때가 많습니다. API가 반환하는 결과를 수집하고, 캡션과 사용 가능한 지표를 추출한 뒤 ‘광고’, ‘파트너십’ 같은 명시적 문구를 표시해 후속 검토에 활용하는 방법을 소개합니다.
이미지 역할: 보조 삽화 2 — 다른 구체적 측면
섹션: 검색 결과를 검토 목록으로 만드는 방법
검색 결과에서 CSV 검토 목록을 만들고 동영상 자체의 공개 여부를 수동으로 확인하는 과정을 보여주는 도식입니다.© jsonscraper · AI 생성 삽화
기사: TikTok 공개 동영상에서 광고 공개 여부 확인하기
요약: 마케팅팀은 브랜드가 언급된 공개 TikTok 동영상과 광고 공개 가능성이 있는 게시물을 선별해야 할 때가 많습니다. API가 반환하는 결과를 수집하고, 캡션과 사용 가능한 지표를 추출한 뒤 ‘광고’, ‘파트너십’ 같은 명시적 문구를 표시해 후속 검토에 활용하는 방법을 소개합니다.
이미지 역할: 대표 이미지 — 핵심 아이디어
섹션: 검색 결과를 검토 목록으로 만드는 방법
시각적 주제: 러시아어 인포그래픽
검색 결과에서 CSV 검토 목록을 만들고 동영상 자체의 공개 여부를 수동으로 확인하는 과정을 보여주는 도식입니다.© jsonscraper · AI 생성

수집에는 jsonscraper TikTok Scraper API를 사용할 수 있습니다. 문서에 명시된 GET 경로 /searchVideo는 https://tiktok.evelode.com에 있으며, keyword, count, date_posted, sort_by, region, cursor 매개변수를 받습니다. 관찰된 응답에서 TikTok 데이터의 동영상은 search_item_list[].aweme_info에 들어 있었고, aweme_list는 비어 있을 수 있었습니다. 아래 파서는 두 위치를 모두 확인합니다.

키는 license_key 매개변수로 전달합니다. 키를 스크립트나 저장소에 넣지 말고 환경 변수에 보관하세요. TikTok 경로 문서에서 검색 매개변수 이름을 확인할 수 있습니다. 다음 페이지를 요청할 때는 반환된 cursor를 사용하세요. 처리한 객체 수와 검색어를 기록해 두세요. 페이지네이션으로 결과를 이어서 가져올 수는 있지만, 그것만으로 결과 집합이 완전하다고 볼 수는 없습니다.

간단한 Python 예제

스크립트는 각 검색어로 한 번씩 요청하고, 문서화된 두 가지 결과 형식을 수집하며, 동영상 ID를 기준으로 중복을 제거하고, 설명에서 단어를 표시한 뒤 CSV를 기록합니다. python -m pip install requests 명령으로 requests를 설치하고, 환경 변수에 JSONSCRAPER_TIKTOK_LICENSE_KEY를 설정한 다음 파일을 실행하세요. 이 예제는 Python 3.8 이상에서 사용할 수 있습니다.

import csv
import os
import sys
import requests

BASE_URL = "https://tiktok.evelode.com/searchVideo"
KEY = os.environ.get("JSONSCRAPER_TIKTOK_LICENSE_KEY")
if not KEY:
    raise SystemExit("Set JSONSCRAPER_TIKTOK_LICENSE_KEY first")

QUERIES = ["Example Brand", "Example Product", "Example Campaign"]
MARKERS = ("#реклама", "реклама", "спонсор", "партнерство", "партнёрство", "#ad", "sponsored")


def videos_from(payload):
    data = payload.get("tiktok") or {}
    videos = data.get("aweme_list") or []
    if not videos:
        videos = [
            item.get("aweme_info")
            for item in (data.get("search_item_list") or [])
            if isinstance(item, dict) and isinstance(item.get("aweme_info"), dict)
        ]
    return [video for video in videos if isinstance(video, dict)]


rows = {}
for query in QUERIES:
    response = requests.get(
        BASE_URL,
        params={"keyword": query, "count": 20, "date_posted": "this-month", "license_key": KEY},
        timeout=30,
    )
    response.raise_for_status()
    payload = response.json()
    if payload.get("status") != "ok":
        print("Unexpected API status for query:", query, file=sys.stderr)
        continue

    for video in videos_from(payload):
        video_id = video.get("aweme_id")
        if not video_id:
            continue
        author = video.get("author") or {}
        stats = video.get("statistics") or {}
        caption = video.get("desc") or ""
        matched = [word for word in MARKERS if word in caption.casefold()]
        row = rows.setdefault(str(video_id), {
            "video_id": str(video_id),
            "url": video.get("share_url") or "",
            "author": author.get("unique_id") or author.get("nickname") or "",
            "caption": caption,
            "queries": set(),
            "disclosure_markers": set(),
            "play_count": stats.get("play_count"),
            "digg_count": stats.get("digg_count"),
            "comment_count": stats.get("comment_count"),
            "review_status": "manual_review",
        })
        row["queries"].add(query)
        row["disclosure_markers"].update(matched)

with open("tiktok_disclosure_review.csv", "w", newline="", encoding="utf-8-sig") as file:
    fields = ["video_id", "url", "author", "caption", "queries", "disclosure_markers",
              "play_count", "digg_count", "comment_count", "review_status"]
    writer = csv.DictWriter(file, fieldnames=fields)
    writer.writeheader()
    for row in rows.values():
        row["queries"] = " | ".join(sorted(row["queries"]))
        row["disclosure_markers"] = " | ".join(sorted(row["disclosure_markers"]))
        writer.writerow(row)

print("Saved", len(rows), "unique returned videos")

코드를 저장하기 전에 외부 응답의 상태를 확인한 다음 tiktok 데이터를 살펴보세요. 정규화기는 동영상이 들어올 수 있는 두 위치를 모두 읽습니다. 다음 페이지를 가져오려면 받은 cursor를 변환 없이 다음 요청에 전달하면 됩니다. 이 간단한 예제는 의도적으로 검색어마다 한 페이지로 제한합니다.

CSV에서 무엇을 확인할 수 있나요?

각 행에는 동영상 ID와 링크, 사용 가능한 작성자 식별자, 캡션, 검색어, 일치한 표시 문구가 함께 기록됩니다. 응답에 조회수·좋아요·댓글 지표가 있으면 검토 우선순위를 정하는 참고 자료로 저장됩니다. 이 필드는 응답에 없을 수 있으며, 스크립트는 0으로 채우지 않고 비워 둡니다.

그다음 동영상을 열어 영상 안에 공개 내용이 있는지, 눈에 잘 띄는지 확인하고 ‘확인됨’, ‘추가 확인 필요’, ‘시청 중 발견되지 않음’ 등 합의된 범주로 결과를 기록하세요. 코드는 캡션에서 정확히 일치하는 텍스트 표시만 찾습니다. 영상과 오디오를 살펴보거나 규정 준수 여부를 판정하지는 않습니다.

정기적으로 운영하려면 수집을 일정에 맞춰 실행하고, 요청 시각을 기록하며, 원본 JSON을 CSV와 함께 보관하세요. 필요한 검색어만 사용하고 수집 데이터의 보관 기간을 제한하세요. jsonscraper 책임 있는 데이터 수집 정책은 합리적인 요청 빈도, 데이터 최소화, 후속 조치 전 AI 결과 검토를 안내합니다.

이렇게 하면 광고 공개 여부를 수동 검토할 공개 동영상 목록을 재현 가능한 방식으로 만들 수 있습니다. 검색 일치 항목과 사용 가능한 지표를 바탕으로 먼저 확인할 영상을 정하고, 영상 자체에 대한 평가는 검토자가 맡습니다. 매개변수 이름은 TikTok API 문서에서 확인할 수 있으며, 제품 정보는 TikTok Scraper API 페이지에 있습니다.

사람들

아직 이 기사에 등록된 사람이 없습니다.

계속 읽으세요TikTok 검색 결과를 지원팀의 주간 주제 목록으로 바꾸기
다음 기사 읽기

읽은 내용을 실제 연동으로 구현하세요

jsonscraper 소셜 데이터 API를 살펴보고 요청을 테스트하여 다음 워크플로를 구축하세요.

API 둘러보기