다양한 Open API 사용하기
이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 강의 사이트와 유투브 채널을
오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
● 잔재미코딩 유투브 오픈
[구독해보기]
1. 다양한 Open API 사용하기¶
1.1 정부3.0 공공 데이터 포털 API 사용하기¶
공공 데이터 포털 가입하기
- https://www.data.go.kr
- 회원가입 -> 로그인 -> https://www.data.go.kr/dataset/3050988/openapi.do -> 활용신청
- 결국 인증키를 발급받아야 함
- JSON 이외에 XML 포멧으로 데이터를 다루는 경우도 많음
- XML 관련 내용은 '다양한 데이터 읽기 - XML 파일' 참조
1.2. 다양한 사이트 크롤링 - 트위터¶
트위터 개발자 등록하기
tweepy - 트위터 크롤링/트윗 라이브러리
- 설치
- pip install tweepy
- 사용법
- 검색 키워드를 활용한 트위터 게시글 검색
- 검색 조건을 활용한 트위터 게시글 검색
- 트위터에 간단히 글쓰기
- 설치
예제 코드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') # 파일도 업로드 가능함