머리말#
모두가 멋진 설날 휴가를 보냈기를 진심으로 바랍니다. 저는 용인시의 한국민속촌을 방문하며 확실히 즐거운 시간을 보냈습니다. 이 시기는 한국에서 특별한 시기일 뿐만 아니라, 키위들이 와이탕이 데이를 축하하는 시기이기도 합니다!

소개#
한국의 키위 상공회의소는 뉴질랜드 공휴일에 다양한 이벤트를 조직합니다. 다음으로 다가오는 축하할 공휴일은 와이탕이 데이입니다. 모든 조직과 마찬가지로, 마케팅과 유기적 노출 확보는 사람들이 다시 찾아오는 평판 좋은 이미지를 유지하는 데 중요합니다. 문제는 많은 조직과 그룹이 게스트 유지에 계속 부족하며, 종종 높은 이탈률을 보인다는 것입니다.
이벤트의 성공 측정#
이벤트는 본질적으로 사교적입니다 - 실생활과 온라인 모두에서. 마케팅은 이벤트의 전반적인 성공에 주요한 역할을 합니다. 이벤트 측면에서의 마케팅은 이벤트 전 광고, 계획에만 집중해서는 안 되며, 이벤트 중과 후의 마케팅도 고려해야 합니다. 예를 들어 참여도와 만족도가 일부 핵심 성과 지표(KPI)가 될 수 있습니다.
중요한 KPI는 다음과 같습니다:#
- 참석자 이벤트 참여도
- 소셜 미디어 참여도 - 이벤트 해시태그를 사용하면 참석자들이 이벤트에 대해 말한 것에 대한 소셜 미디어의 풍부한 데이터를 수집할 수 있습니다. 해시태그를 넘어서 소셜 미디어는 스폰서와의 참석자 참여를 측정하는 데에도 사용할 수 있으며, 특히 활성화로 제공한 경우 중요합니다.
- 고객 획득 비용(CPA)
- 신규 대 재방문 참석자 - 이 KPI는 신규 참석자와 재방문 참석자 모두의 건강한 흐름을 보장하는 데 중요합니다. 사람들은 시간이 지남에 따라 이벤트에 대한 흥미를 잃을 수 있습니다 - 일부 이탈은 성공적인 비즈니스의 자연스러운 부분입니다. 그러나 참석자의 거의 모두가 신규인 경우, 문제가 있음을 알 수 있습니다.
식별된 문제#
제가 함께 일하는 그룹과 제가 직접 참석한 이벤트에서 식별한 문제는 많은 수의 참석자가 처음 방문한다는 것입니다. 그리고 참여 부족과 불만족 후에 그들은 추가 이벤트에 돌아오지 않습니다. 일부 장소는 새로운 방문자의 지속적인 유입이라는 사실로 살아남고 있습니다. 조직자와 참석자 사이의 참여가 거의 또는 전혀 없어서 사람들이 불만족하게 되었습니까? 아니면 참석자들이 이벤트가 무엇에 관한 것인지 또는 이벤트의 목표가 무엇인지 명확하게 이해하지 못했기 때문입니까?
따라서 참여에 일부 문제가 있고 이벤트 목적에 대한 오해가 있음이 분명했습니다. 둘째, 이벤트 중 조직의 노력을 마케팅하려는 노력이 없었습니다. 이는 많은 잠재적 유기적 노출을 놓치고 있음을 의미합니다. 셋째, 이벤트의 장비 활용 부족입니다. 이벤트 장소에는 일반적으로 게스트 연사가 말하는 동안 자막을 표시하는 데 사용되는 프로젝터가 있습니다(한국어 및 영어). 그런 다음 이벤트의 나머지 기간 동안 프로젝터는 더 이상 사용되지 않습니다. 스마트 도구를 통한 군중과의 더 많은 참여를 사용하여 참여를 높일 수 있습니다.
해결책#
따라서 조직자와 참석자 간의 참여를 장려하는 솔루션은 프로젝터에 참석자의 이미지를 수집하고 표시하여 다른 참석자와 Instagram의 친구들에게 그들이 이벤트에서 무엇을 하고 있는지 보여주는 디스플레이를 만드는 것이었습니다!
Instagram을 사용함으로써, 일상 생활을 적극적으로 공유하는 사용자들은 이미 조직자와 관여하고, 피드백을 제공하며, 나아가 키위 상공회의소 이벤트의 목표가 무엇인지 확장된 친구들에게 보여주기 위한 도구를 전화에 가지고 있습니다.
따라서 #waitangikorea에서 Instagram의 이미지를 가져오도록 설계된 작은 웹 앱을 만드는 것이 제 목표가 되었습니다.

기술적 세부사항#
프론트엔드#
사용된 도구:#
- Jquery
- HTML
- CSS3
이것은 단일 페이지일 뿐이므로, 페이지의 DOM 콘텐츠를 제어하기 위한 백엔드로 JQuery를 선택했습니다.
JQuery로 화면의 이미지 상태를 유지하기 위해, 사진 공간의 수와 같은 크기의 배열을 사용했습니다. 이미지가 화면에 표시될 때마다 이미지의 URL이 배열의 인덱스에 추가됩니다. 다른 사진을 추가하려면 이미지가 배열에 존재하지 않는지 확인해야 합니다. 다음은 제 코드의 예입니다.
var img_on_screen = new Array(number_of_photo_squares);
var post_index = 0;
javascript.js
while (img_on_screen.includes(post_data['img'])) {
if( post_index > post_count - 1 ) {
post_index = 0;
}
post_data = posts[post_index];
post_index = post_index + 1;
}
img_on_screen[curr_index-1] = post_data['img'];
update_img(curr_index, post_data);
}백엔드#
사용된 도구:#
InstaLooter#
InstaLooter는 사용자 이름이나 비밀번호 없이 Instagram에서 이미지를 스크랩할 수 있는 애플리케이션입니다. 이는 자신의 개인 정보가 인터넷에 유출될 위험 없이 Instagram의 이미지가 필요한 경우에 좋습니다.
이 애플리케이션을 사용한 주된 이유는 인터넷에서 사용 가능한 다른 스크래퍼와 달리 사용자 이름이나 비밀번호를 입력할 필요가 없기 때문입니다.
scraper.py
print(insta_api)
if insta_api == 1:
subprocess.call("python -m instalooter hashtag " + hashtag +" "+ path_to_json +" -d",shell=True)Flask#
Flask를 사용한 초기 이유는 간단한 설정 때문이었습니다. Flask를 정적 파일 제공에만 사용했지만 캐시 문제가 있었습니다. 이는 클라이언트가 업데이트된 JSON 파일을 요청할 때마다 반환된 파일이 이전에 제공된 파일과 정확히 같다는 것을 의미했습니다. 사용자 측에서 사진이 동기화되지 않는 원인이 됩니다. 이를 극복하기 위해 클라이언트에서 직접 정적 파일을 요청하는 것에서 해시태그와 이미지 파일 이름을 가져오는 Flask의 경로를 만드는 것으로 변경했습니다. 이를 통해 cache_timeout=-1을 설정하여 파일의 캐싱을 방지할 수 있었습니다.
파일 구조#
@app.route('/update', methods= ['GET'])
def get_file():
# cache_timeout은 send_file 옵션에서 초 단위입니다
return send_from_directory("data/img", "data.json", cache_timeout=-1)Glob#
Glob은 규칙과 일치하는 파일을 선택하는 훌륭한 도구입니다. 예를 들어 여러 JSON 파일을 결합해야 하는 경우. 콘텐츠를 병합하기 전에 모든 JSON 파일을 먼저 로드해야 합니다.
scraper.py
for f in glob.glob(path_to_json+"*.json"):
with open(f, "rb") as infile:
result.append(json.load(infile))
여기까지 읽어주셔서 감사합니다!#
추가 질문이 있으시면 언제든지 이메일로 연락주세요!
