라쿠텐 여행 API를 3분에 두드려 보았다♪
API란?
타사가 제공하는 서비스 내의 "정보"or*"기능"*을 취급할 수 있도록 하는 구조
0:Rakuten Developers에 액세스
①Rakuten Developers에 로그인
(라쿠텐 계정이 없는 분은 등록을 부탁합니다.)
② "앱 ID"를 발행
③ "API 일람"을 클릭
④ "라쿠텐 여행계 API"안에 있는 "라쿠텐 여행 시설 검색 API"를 클릭
위 그림의 페이지에 라쿠텐 트래블 API의 사양이 세세하게 쓰여져 있으므로, 대략 눈을 통해 봐 주세요.
(잘 모르는 분은 아래 소스 코드를보고 감각을 잡아보십시오!)
1: 소스 코드
import pandas as pd
import requests
REQUEST_URL = "https://app.rakuten.co.jp/services/api/Travel/SimpleHotelSearch/20170426"
#0-②でコピーしたIDを貼り付けてください
APP_ID = "????????????????????"
이번은 일본·오키나와·나하시에 있는 시설을 검색해 보고 싶습니다.
params = {
"format":"json",
"largeClassCode":"japan",
"middleClassCode":"okinawa",
"smallClassCode":"nahashi",
"applicationId":APP_ID
}
res = requests.get(REQUEST_URL, params)
print(res)
여기서
라고 출력되면 요청에 대한 응답이 성공합니다!
다음으로 얻은 json 형식의 응답을 살펴 보겠습니다.
print(result)
위 그림에서,
· 전체 페이지 수는 15 페이지
・이번에는 첫 페이지만 획득
・이번은 1~30의 시설 정보를 취득
(이 소스 코드에서는 page를 지정하지 않으므로 1페이지째만 취득하게 되어 있습니다.)
이상에서,
"15 페이지의 정보"가 있음을 알았으므로 모든 것을 얻고 데이터 프레임에 저장합니다!
def rakuten_api():
df = pd.DataFrame()
index_num = 0
#ページ数(1~15ページ)
for page in range(1,16):
params = {
"format":"json",
"largeClassCode":"japan",
"middleClassCode":"okinawa",
"smallClassCode":"nahashi",
"page": page,
"applicationId":APP_ID
}
res = requests.get(REQUEST_URL, params)
#レスポンスの中身を取得
result = res.json()
hotels = result["hotels"]
for hotel in hotels:
hotel_info = hotel["hotel"][0]["hotelBasicInfo"]
_df = pd.DataFrame(hotel_info, index=[index_num])
index_num+=1
df = df.append(_df)
return df
df = rakuten_api()
이제 이전 15 페이지의 시설 정보를 데이터 프레임에 저장할 수있었습니다!
이제 데이터 프레임에 저장된 열 이름 목록을 살펴 보겠습니다.
print(df.columns)
出力結果>>>
Index(['hotelNo', 'hotelName', 'hotelInformationUrl', 'planListUrl',
'dpPlanListUrl', 'reviewUrl', 'hotelKanaName', 'hotelSpecial',
'hotelMinCharge', 'latitude', 'longitude', 'postalCode', 'address1',
'address2', 'telephoneNo', 'faxNo', 'access', 'parkingInformation',
'nearestStation', 'hotelImageUrl', 'hotelThumbnailUrl', 'roomImageUrl',
'roomThumbnailUrl', 'hotelMapImageUrl', 'reviewCount', 'reviewAverage',
'userReview'],
dtype='object')
여기에서 자신이 필요한 열 이름만 추출합니다.
그리고 csv 파일에 출력시켜 완성입니다!!
df[['hotelName','hotelInformationUrl','hotelMinCharge','telephoneNo','reviewAverage']].to_csv("hotel.csv",index=False)
2:마지막으로
이번에는 라쿠텐 여행계 API를 이용했습니다만,
라쿠텐 북스계 API나 라쿠텐 레시피계 API등도 풍부하기 때문에, 그것들을 조합해 자신 취향의 어플리케이션도 만들 수 있을 것 같습니다!
그 때에는 또, 기사로 하고 싶습니다!!
Reference
이 문제에 관하여(라쿠텐 여행 API를 3분에 두드려 보았다♪), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/8508cd2455ffadfbc5d5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
①Rakuten Developers에 로그인
(라쿠텐 계정이 없는 분은 등록을 부탁합니다.)
② "앱 ID"를 발행
③ "API 일람"을 클릭
④ "라쿠텐 여행계 API"안에 있는 "라쿠텐 여행 시설 검색 API"를 클릭
위 그림의 페이지에 라쿠텐 트래블 API의 사양이 세세하게 쓰여져 있으므로, 대략 눈을 통해 봐 주세요.
(잘 모르는 분은 아래 소스 코드를보고 감각을 잡아보십시오!)
1: 소스 코드
import pandas as pd
import requests
REQUEST_URL = "https://app.rakuten.co.jp/services/api/Travel/SimpleHotelSearch/20170426"
#0-②でコピーしたIDを貼り付けてください
APP_ID = "????????????????????"
이번은 일본·오키나와·나하시에 있는 시설을 검색해 보고 싶습니다.
params = {
"format":"json",
"largeClassCode":"japan",
"middleClassCode":"okinawa",
"smallClassCode":"nahashi",
"applicationId":APP_ID
}
res = requests.get(REQUEST_URL, params)
print(res)
여기서
라고 출력되면 요청에 대한 응답이 성공합니다!
다음으로 얻은 json 형식의 응답을 살펴 보겠습니다.
print(result)
위 그림에서,
· 전체 페이지 수는 15 페이지
・이번에는 첫 페이지만 획득
・이번은 1~30의 시설 정보를 취득
(이 소스 코드에서는 page를 지정하지 않으므로 1페이지째만 취득하게 되어 있습니다.)
이상에서,
"15 페이지의 정보"가 있음을 알았으므로 모든 것을 얻고 데이터 프레임에 저장합니다!
def rakuten_api():
df = pd.DataFrame()
index_num = 0
#ページ数(1~15ページ)
for page in range(1,16):
params = {
"format":"json",
"largeClassCode":"japan",
"middleClassCode":"okinawa",
"smallClassCode":"nahashi",
"page": page,
"applicationId":APP_ID
}
res = requests.get(REQUEST_URL, params)
#レスポンスの中身を取得
result = res.json()
hotels = result["hotels"]
for hotel in hotels:
hotel_info = hotel["hotel"][0]["hotelBasicInfo"]
_df = pd.DataFrame(hotel_info, index=[index_num])
index_num+=1
df = df.append(_df)
return df
df = rakuten_api()
이제 이전 15 페이지의 시설 정보를 데이터 프레임에 저장할 수있었습니다!
이제 데이터 프레임에 저장된 열 이름 목록을 살펴 보겠습니다.
print(df.columns)
出力結果>>>
Index(['hotelNo', 'hotelName', 'hotelInformationUrl', 'planListUrl',
'dpPlanListUrl', 'reviewUrl', 'hotelKanaName', 'hotelSpecial',
'hotelMinCharge', 'latitude', 'longitude', 'postalCode', 'address1',
'address2', 'telephoneNo', 'faxNo', 'access', 'parkingInformation',
'nearestStation', 'hotelImageUrl', 'hotelThumbnailUrl', 'roomImageUrl',
'roomThumbnailUrl', 'hotelMapImageUrl', 'reviewCount', 'reviewAverage',
'userReview'],
dtype='object')
여기에서 자신이 필요한 열 이름만 추출합니다.
그리고 csv 파일에 출력시켜 완성입니다!!
df[['hotelName','hotelInformationUrl','hotelMinCharge','telephoneNo','reviewAverage']].to_csv("hotel.csv",index=False)
2:마지막으로
이번에는 라쿠텐 여행계 API를 이용했습니다만,
라쿠텐 북스계 API나 라쿠텐 레시피계 API등도 풍부하기 때문에, 그것들을 조합해 자신 취향의 어플리케이션도 만들 수 있을 것 같습니다!
그 때에는 또, 기사로 하고 싶습니다!!
Reference
이 문제에 관하여(라쿠텐 여행 API를 3분에 두드려 보았다♪), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/8508cd2455ffadfbc5d5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import pandas as pd
import requests
REQUEST_URL = "https://app.rakuten.co.jp/services/api/Travel/SimpleHotelSearch/20170426"
#0-②でコピーしたIDを貼り付けてください
APP_ID = "????????????????????"
params = {
"format":"json",
"largeClassCode":"japan",
"middleClassCode":"okinawa",
"smallClassCode":"nahashi",
"applicationId":APP_ID
}
res = requests.get(REQUEST_URL, params)
print(res)
라고 출력되면 요청에 대한 응답이 성공합니다!
다음으로 얻은 json 형식의 응답을 살펴 보겠습니다.
print(result)
위 그림에서,
· 전체 페이지 수는 15 페이지
・이번에는 첫 페이지만 획득
・이번은 1~30의 시설 정보를 취득
(이 소스 코드에서는 page를 지정하지 않으므로 1페이지째만 취득하게 되어 있습니다.)
이상에서,
"15 페이지의 정보"가 있음을 알았으므로 모든 것을 얻고 데이터 프레임에 저장합니다!
def rakuten_api():
df = pd.DataFrame()
index_num = 0
#ページ数(1~15ページ)
for page in range(1,16):
params = {
"format":"json",
"largeClassCode":"japan",
"middleClassCode":"okinawa",
"smallClassCode":"nahashi",
"page": page,
"applicationId":APP_ID
}
res = requests.get(REQUEST_URL, params)
#レスポンスの中身を取得
result = res.json()
hotels = result["hotels"]
for hotel in hotels:
hotel_info = hotel["hotel"][0]["hotelBasicInfo"]
_df = pd.DataFrame(hotel_info, index=[index_num])
index_num+=1
df = df.append(_df)
return df
df = rakuten_api()
이제 이전 15 페이지의 시설 정보를 데이터 프레임에 저장할 수있었습니다!
이제 데이터 프레임에 저장된 열 이름 목록을 살펴 보겠습니다.
print(df.columns)
出力結果>>>
Index(['hotelNo', 'hotelName', 'hotelInformationUrl', 'planListUrl',
'dpPlanListUrl', 'reviewUrl', 'hotelKanaName', 'hotelSpecial',
'hotelMinCharge', 'latitude', 'longitude', 'postalCode', 'address1',
'address2', 'telephoneNo', 'faxNo', 'access', 'parkingInformation',
'nearestStation', 'hotelImageUrl', 'hotelThumbnailUrl', 'roomImageUrl',
'roomThumbnailUrl', 'hotelMapImageUrl', 'reviewCount', 'reviewAverage',
'userReview'],
dtype='object')
여기에서 자신이 필요한 열 이름만 추출합니다.
그리고 csv 파일에 출력시켜 완성입니다!!
df[['hotelName','hotelInformationUrl','hotelMinCharge','telephoneNo','reviewAverage']].to_csv("hotel.csv",index=False)
2:마지막으로
이번에는 라쿠텐 여행계 API를 이용했습니다만,
라쿠텐 북스계 API나 라쿠텐 레시피계 API등도 풍부하기 때문에, 그것들을 조합해 자신 취향의 어플리케이션도 만들 수 있을 것 같습니다!
그 때에는 또, 기사로 하고 싶습니다!!
Reference
이 문제에 관하여(라쿠텐 여행 API를 3분에 두드려 보았다♪), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomoxxx/items/8508cd2455ffadfbc5d5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)