다양한 Open API 사용하기

이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 사이트와, 다음 두 채널도 오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
●  잔재미코딩 뉴스레터 오픈 [구독해보기]
●  잔재미코딩 유투브 오픈 [구독해보기]

1. 다양한 Open API 사용하기

1.1 정부3.0 공공 데이터 포털 API 사용하기

  • JSON 이외에 XML 포멧으로 데이터를 다루는 경우도 많음
    • XML 관련 내용은 '다양한 데이터 읽기 - XML 파일' 참조

1.2. 다양한 사이트 크롤링 - 트위터

예제 코드1: 검색 키워드를 활용한 트위터 게시글 단순 검색

In [ ]:
import tweepy

# 트위터 Consumer Key (API Key)
consumer_key = "RFBQEY174fxDNIRE8y9oklE11"
# 트위터 Consumer Secret (API Secret)
consumer_secret = "ADx5aV2kgX9m5NkecaFjIvKZKNyOY75wt7pkNaxFgv3C6pWLYx"

# 1차 인증: 개인 앱 정보 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

# 트위터 Access Token
access_token = "211926849-b1BlQAY7vV5tGlScXfUeCWid8V2hpP4g8APJjxPS"
# 트위터 Access Token Secret
access_token_secret= "p1zHAQ5tMWGNYlUjUKWjdb51fmNgSZHW8tU08ornpn5bU"

# 2차 인증: 토큰 정보
auth.set_access_token(access_token, access_token_secret)

# 3. twitter API 생성  
api = tweepy.API(auth)

keyword = "갤럭시노트8";     # 검색할 키워드

tweets = api.search(keyword) # 한 번에 15 트윗 검색 정보를 가져옴
# tweets = api.search(keyword, count=100) # 일반 계정으로는 최대 100개 최신 게시물을 가져올 수 있음
for num, tweet in enumerate(tweets):
    print(num, "]", tweet.text)
    print (tweet.favorite_count)
    print (tweet.retweet_count)

예제 코드2: 검색 조건을 활용한 트위터 게시글 상세 검색

본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
체계적으로 전문가 레벨까지 익힐 수 있도록 온라인 강의 로드맵을 제공합니다
In [ ]:
import tweepy

# 트위터 Consumer Key (API Key)
consumer_key = "Znhjhrr7zxp4S42zDKbYjR4mG"
# 트위터 Consumer Secret (API Secret)
consumer_secret = "45rTmASGsACobQvG6dYzHTnV9SiIk7JhoFDAqpeH7CxM09RGDY"

# 1차 인증: 개인 앱 정보 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

# 트위터 Access Token
access_token = "211926849-b1BlQAY7vV5tGlScXfUeCWid8V2hpP4g8APJjxPS"

# 트위터 Access Token Secret
access_token_secret= "p1zHAQ5tMWGNYlUjUKWjdb51fmNgSZHW8tU08ornpn5bU"

# 2차 인증: 토큰 정보
auth.set_access_token(access_token, access_token_secret)

# 3. twitter API 생성  
api = tweepy.API(auth)

keyword = "스마트폰";     # OR 로 검색어 묶어줌, 검색어 5개까지 가능 (반드시 OR 는 대문자로 작성해야 함)
location = "%s,%s,%s" % ("35.95", "128.25", "1000km")  # 트윗 지역 기준 검색, 대한민국 중심 좌표, 반지름  

# tweepy.Cursor 메서드를 사용하면, pagination 이 자동 관리되어 100개 이상의 검색 결과를 가져올 수 있음
# 모든 트위터 데이터가 검색되는 것은 아님(트위터사에서 이를 명시하고 있음)
cursor = tweepy.Cursor(api.search, 
                       q=keyword,
                       since='2015-01-01',  # 2015-01-01 이후에 작성된 트윗들로 가져옴
                       count=100,           # 페이지당 반환할 트위터 수 최대 100
                       geocode=location,    # 검색 반경 조건
                       include_entities=True)
for i, tweet in enumerate(cursor.items()):
    print("{}: {}".format(i, tweet.text))

예제 코드3: 트위터에 간단히 글쓰기

In [ ]:
import tweepy

# 트위터 Consumer Key (API Key)
consumer_key = "PaSOnzroDXBEMW2MHcilegC4h"
# 트위터 Consumer Secret (API Secret)
consumer_secret = "9uF4kAKWtpB7mbWQkmhdQJjNxeuptpQUEFEDy3BfaHrf0va73z"

# 1차 인증: 개인 앱 정보 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

# 트위터 Access Token
access_token = "211926849-b1BlQAY7vV5tGlScXfUeCWid8V2hpP4g8APJjxPS"
# 트위터 Access Token Secret
access_token_secret= "p1zHAQ5tMWGNYlUjUKWjdb51fmNgSZHW8tU08ornpn5bU"

# 2차 인증: 토큰 정보
auth.set_access_token(access_token, access_token_secret)

# 3. twitter API 생성  
api = tweepy.API(auth)

status = api.update_status(status='파이썬으로 테스트합니다.')  # 트위터에 글쓰기
# api.update_with_media(status='파이썬으로 테스트합니다.', filename='./real_estate.png') # 파일도 업로드 가능함