SMALL
안녕하세요.
패스트 캠퍼스 수강후기 - 머신러닝과 데이터 분석 A-Z 14회차 미션 시작합니다!
머신러닝 인강 후기 14회차는 API에 대해 공부합니다.
패스트 캠퍼스 강의에서 제공하는 실습파일을 보면서 강사님의 지시에 따라 실습을 따라하시면 됩니다.
" 크롤링 - 개발자도구(chrome)으로 웹페이지 분석하기 "
1) requests 모듈 사용하기 (HTTPS 통신)
http request / response 를 위한 모듈입니다.
HTTP method를 메소드 명으로 사용하여 request 합니다. 요청은 get이나 post로 합니다.
# requests 모듈
import requests
2) get 요청하기
http get 요청하기
query parameter 이용하여 데이터를 전달합니다.
url = "https://news.v.daum.net/v/20190728165812603"
resp = requests.get(url)
resp.test
3) post 요청하기
http post를 요청하고 post data를 이용하여 데이터 전달합니다.
url = "https://www.kangcom.com/member/member_check.asp"
data = {
'id' : '해당 아이디'
'pwd' : '해당 비밀번호'
}
resp = requests.post(url, data = data)
resp.text
4) HTTP header 데이터 이용하기
header 데이터를 구성해서 header 데이터에 전달합니다.
get이나 post로 크롤링이 되지 않으면 header를 사용할 수 있습니다.
url = 'https://news.v.daum.net/v/20190728165812603'
headers = {
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'
}
resp = requests.get(url, headers=headers)
resp.text
" Open API를 활용하여 json 데이터를 추출하기 (공공데이터 API) "
1) 공공데이터 포털 OPEN API 사용하기
2) key 값 확인하기
서비스 호출 트래킹을 할 목적이나 악의적인 사용을 금지할 목적으로 주로 사용하빈다.
새로 받은 키는 1시간 이후 사용할 수 있습니다.
endpoint에서 serviceKey부분을 ={}.format()으로 처리하면 간편합니다.
본 강의에서는 json으로 데이터를 추출하기 때문에 맨 끝에 &_type=json을 추가하게 됩니다.
serviceKey = '공공데이터포털에서 받은 키'
endpoint = 'http://api.visitkorea.or.kr/openapi/service/rest/EngService/areaCode?serviceKey={}&numOfRows=10&pageSize=10&pageNo=1&MobileOS=ETC&MobileApp=AppTest&_type=json'.format(serviceKey)
3) parameter 확인하기
pageNo를 동적으로 처리합니다. (={}.format() 형식)
json 형식은 파이썬의 dict와 호환이 가능하기 때문에 json 형식을 많이 쓴다고 하네요!
endpoint = 'http://api.visitkorea.or.kr/openapi/service/rest/EngService/areaCode?serviceKey={}&numOfRows=10&pageSize=10&pageNo={}&MobileOS=ETC&MobileApp=AppTest&_type=json'.format(serviceKey, 1)
resp = requests.get(endpoint)
print (resp.status_code) #200 으로 잘 들어오고 있음을 확인할 수 있습니다.
print (resp.text) # json 데이터가 잘 들어고고 있음을 확인할 수 있습니다.
data = resp.json() #json으로 객체를 바로 받아올 수 있습니다. json의 타입은 dict입니다.
# data에서 필요한 부분만 추출하고 싶은 경우
print (data['response']['body']['items']['item'][0])
머신러닝 인강 최강자를 만나고 싶으면!? https://bit.ly/3lZfGmn
LIST
'환급 챌린지!' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 16회차 미션 (0) | 2020.11.03 |
---|---|
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 15회차 미션 (0) | 2020.11.02 |
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 13회차 미션 (0) | 2020.10.31 |
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 12회차 미션 (0) | 2020.10.30 |
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 11회차 미션 (0) | 2020.10.29 |