(1) 문제정의


홍콩 범죄인 인도법 반대 시위

<aside> 🇭🇰 홍콩 시민들이 2019년 3월 31일부터 범죄인 인도법(송환법)에 반대하며 전개한 시위로, 6월에는 100만 명이 넘는 시민들 이 참여하는 대규모 시위로 확산됐다. 현재까지 장기화된 시위는 당초 송환법 폐지 요구에서 중국의 정치적 간섭에서 벗 어나려는 민주화 운동으로까지 그 성격이 확대됐다.

</aside>

홍콩 국가보안법

<aside> 🇭🇰 중국이 홍콩 내에서 분리·전복을 꾀하는 활동에 대한 처벌을 강화해 홍콩에 대한 통제를 강화하기 위해 제정한 법으로, 2020년 5월 28일, 베이징 인민대화당에서 열린 전체회의 표결에서 이를 통과시켰다. 반정부 활동의 전면적인 금지가 핵 심인 이 법이 시행되면 사실상 ‘홍콩 범죄인 인도법 반대 시위’ 같은 대규모 시위가 불가능해진다.

</aside>

트위터를 통해 2019년부터 2020년 5월 현재까지 이루어지고 있는 홍콩 시위와 최근 통과된 홍콩 국가보안법에 관련하여 전세계적으로 어떤 감정을 가지고 있는지, 또한 현재 홍콩과 중국에 관한 이미지는 어떠한지에 대해 알아보며, ‘홍콩 시위’, ‘홍콩 보안법’, ‘홍콩’, ‘중국’의 키워드들과 함께 쓰이는 단어들의 빈도와 함께 쓰이는 단어들을 알아봄으로써 홍콩 민주화 운동의 전체적인 반응에 대해 알아볼 것이다.

(2) 데이터 수집


데이터는 전세계의 많은 사람들의 즉각적인 반응과 감정이 잘 반영되어있는 트위터 데이터를 이용하였다.

# tweepy 패키지 import

import tweepy

# API 인증요청

consumer_key = "본인 consumer_key 입력"
consumer_secret = "본인 consumer_secret 입력"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

# access 토큰 요청

access_token = "본인 access_token 입력"
access_token_secret= "본인 access_token_secret 입력"

auth.set_access_token(access_token, access_token_secret)

# twitter API 생성  

api = tweepy.API(auth)
import os

# location = "%s,%s,%s" % ("40.43", "-77.73", "1000km")
# 특정 지역의 트윗만을 수집하려면 location을 사용할 수 있지만 전세계의 트윗을 수집해야하기 때문에 생략

keyword ="FightForHongKong OR HongKongProtest"  

wfile = open(os.getcwd()+"/protests.txt", 'w', -1, 'utf-8') 

# twitter 검색 cursor 선언

cursor = tweepy.Cursor(api.search, q=keyword,
                        #since="2019-12-1",
                        #until="2020-5-1",
                        count=1000,           # 페이지당 반환할 트위터 수 최대 1000
                        #geocode=location,   
                        len="en",
                        include_entities=True)
for i, tweet in enumerate(cursor.items()):

    print("{}: {}".format(i, tweet.text))

    wfile.write(tweet.text + '\\n')

wfile.close()
openFileName = 'protests.txt'

f = open(openFileName, 'r', encoding='utf-8')
P_data = f.readlines()
f.close()

protests.txt