API(Application Programming Interface)
- 특정 프로그램을 만들기 위해 제공되는 모듈(함수 등)을 의미
- WEB에서 사용될 때는 보통 WEB API로 지칭
- 일반적으로 XML, JSON의 형태도 응답을 전달 (원하는 데이터 추출이 수월)
*** 코드
200 : 정상
404 : 페이지 요청 오류
403 : 권한없음
500 : 서버에러
Daum API
- https://developers.daum.net/console
- [웹 검색 가이드 문서] https://developers.daum.net/services/apis/search/web
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
import requests
from bs4 import BeautifulSoup
import json
from pprint import pprint
res = requests.get('https://apis.daum.net/search/blog?apikey=ae1c8ab41d8d1745906e589fecc68dcc&q=%EC%95%84%EC%9D%B4%ED%8F%B0%20-%EB%84%A4%EC%98%A4&output=json')
# print(res.text) ## dict 모양의 data가 출력됨
# print(res.content)
# 문자열을 주게 되면 그것을 dict로 바꿔서 변환
data = json.loads(res.content)
# print(data)
print(data['channel']['title'])
=================<<실행결과>>=================
Search Daum Open API |
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 |
pprint(data['channel']['item'])
=================<<실행결과>>=================
[{'author': '김군의 생각하는노리터',
'comment': 'http://blue2310.tistory.com/',
'description': '<b>아이폰</b> 7 플러스에 깔끔함이라는 옷을 입히다 <b>아이폰</b> 7 플러스에 슈피겐 '
'<b>아이폰</b>7플러스 케이스 <b>네오</b>하이브리드 CC2를 입혀 주었습니다. 이름도 참 기네요. '
'원래 기존 <b>네오</b>하이브리드CC도 좋았지만 완성도와 투명도를 높혀서 CC2를 내놓았다고 합니다. '
'기존에도...',
'link': 'http://blue2310.tistory.com/3827',
'pubDate': '20170831070000',
'title': '슈피겐 <b>아이폰</b>7플러스 케이스 <b>네오</b>하이브리드CC2 장착 후기'},
{'author': 'LiveREX의 컴부수기',
'comment': 'http://liverex.net/',
'description': '밖에 없는데요. 보시는 것처럼 렌즈가 바닥에 닿는걸 완벽히 방지하는 설계를 보입니다. ▼ 지금까지 슈피겐에서 '
'출시한 <b>아이폰</b>7 플러스 케이스 ‘<b>네오</b>하이브리드CC’를 소개해 드렸습니다. 평소 해당 '
'브랜드에서 액세서리를 구해 쓰시는 분들이 적지 않은 것으로...',
'link': 'http://liverex.net/4595',
'pubDate': '20161008090127',
'title': '<b>아이폰</b>7 플러스 케이스, 슈피겐 <b>네오</b>하이브리드CC 후기'},
{'author': 'ScienceFiction',
'comment': 'http://sciencefiction.tistory.com/',
'description': '* <b>아이폰</b>6 케이스 - 슈피겐 <b>네오</b> 하이브리드 샴페인골드(2015/02/12 작성) '
'가격이 조금 비싼감이 없지 않지만 기본적인 보호기능과 깔끔한 마감, <b>아이폰</b>6의 몸체와 닿는 '
'고무부분의 부드러움은 좋다. 고무와 메탈을 결합한 모습이다. <b>아이폰</b>6에 끼울때는 저 상태로...',
'link': 'http://sciencefiction.tistory.com/297',
'pubDate': '20170110105214',
'title': '<b>아이폰</b>6 케이스 - 슈피겐 <b>네오</b> 하이브리드 샴페인 골드'},
{'author': '워터포르의 디지털 시간여행&와포TV',
'comment': 'http://wapotv.com',
'description': '안녕하세요. 워터포르입니다. 이번에 리뷰할 제품은 높은 완성도와 아름다운 디자인을 자랑하는 슈피겐의 '
'<b>아이폰</b>7 플러스 케이스 신제품입니다. 제품명은 <b>네오</b>하이브리드 CC2인데요. 더욱 '
'투명해진 PC 백패널과 역시~ 완성도 높은 마감이 특징이랍니다. 투명 백패널...',
'link': 'http://wapotv.com/221078338380',
'pubDate': '20170821005100',
'title': '슈피겐 <b>아이폰</b>7 플러스 케이스, <b>네오</b>하이브리드CC2 후기'},
{'author': 'ScienceFiction',
'comment': 'http://sciencefiction.tistory.com/',
'description': '* 부서진 <b>아이폰</b>6 슈피겐 <b>네오</b> 하이브리드 케이스 (2015/06/05 작성) 지난 '
'번에 이 케이스와 관련된 리뷰를 작성해 보았습니다. --> 2015/02/12 - <b>아이폰</b>6 '
'케이스 - 슈피겐 <b>네오</b> 하이브리드 샴페인 골드 4개월 이상은 사용해 온 셈이네요. 그동안 특별한 '
'불만 없이...',
'link': 'http://sciencefiction.tistory.com/411',
'pubDate': '20170111074808',
'title': '부서진 <b>아이폰</b>6 슈피겐 <b>네오</b> 하이브리드 케이스'},
{'author': '성긍정의 세상여행',
'comment': 'http://blog.naver.com/hide400',
'description': '웹을 장착하고 마지막으로 테두리를 장착하면 끝!! 일단 <b>아이폰</b> 자체가 워낙 얇고 그립감은 솔직히 '
'그렇게 좋은 편은 아니라서 케이스...그렇게 강해보이지는 않아보여서 어느정도 조심해서 써야겠습니다. 이상, '
'슈피겐 <b>네오</b>하이브리드 리뷰 마치겠습니다',
'link': 'http://blog.naver.com/hide400/221082945501',
'pubDate': '20170827003900',
'title': '<b>아이폰</b>6 케이스 슈피겐 <b>네오</b>하이브리드'},
{'author': '슈피겐코리아 공식 블로그',
'comment': 'http://blog.naver.com/spigen_official',
'description': '기존에 출시한 케이스들이 업그레이드하여 미려함과 세련됨이 더 돋보이고 있습니다. 빨리 만나볼까요? '
'<b>아이폰</b>7/7플러스 케이스 : <b>네오</b>하이브리드2 한 층 업그레이드된 메탈릭 프레임 '
'슈피겐 <b>아이폰</b>7 케이스 <b>네오</b>하이브리드2는 메탈릭 프레임의 디자인 변경과 강화...',
'link': 'http://blog.naver.com/spigen_official/221078935263',
'pubDate': '20170821191000',
'title': '[공지] 슈피겐 <b>아이폰</b>7 케이스 <b>네오</b>하이브리드2, 터프아머2'},
{'author': '나이스블루',
'comment': 'http://bluesoccer.net/',
'description': '<b>아이폰</b>6s 케이스 슈피겐 <b>네오</b>하이브리드 EX 7개월 동안 사용했던 지금까지의 소감을 '
'올립니다. 저는 이 제품을 지난해 10월 23일 SK텔레콤 <b>아이폰</b>6s 로즈골드 런칭 행사때 '
'받았습니다. <b>아이폰</b>6s 로즈골드 구입을 위해 SK텔레콤 매장에서 줄을 서면서 선착순으로...',
'link': 'http://bluesoccer.net/5449',
'pubDate': '20160528224140',
'title': '<b>아이폰</b>6s 케이스, 슈피겐 <b>네오</b>하이브리드 EX 후기'},
{'author': '씨디맨의 컴퓨터이야기',
'comment': 'http://cdmanii.com/',
'description': '안됩니다. 구매하실때는 아래의 구성품과 같이 <b>네오</b> 하이브리드 프레임과 뒤면도 함께 구매하시면 '
'됩니다. <b>아이폰</b> 추천 케이스 3GS <b>iPhone</b> 실케 <b>네오</b> 하이브리드 '
'프레임 구성품 금색 하이브리드 프레임과 하이브리드 뒤면 안쪽면입니다. 뒷부분 커버부분은 지금...',
'link': 'http://cdmanii.com/1324',
'pubDate': '20100130104102',
'title': '<b>아이폰</b> 추천 케이스 3GS <b>iPhone</b> 실케 <b>네오</b> 하이브리드 프레임'},
{'author': 'LiveREX의 컴부수기',
'comment': 'http://liverex.net/',
'description': '고심하는 분들도 많은데요. <b>네오</b>하이브리드 메탈은 이런 점에서도 이점을 갖는다 하겠습니다. ▼ '
'지금까지 슈피겐 <b>네오</b>하이브리드 메탈 <b>아이폰</b>6 플러스 케이스를 살펴봤습니다. 사용자에 '
'따라서는 케이스를 씌운 것만으로도 좀 더 넓어진 너비 때문에 <b>아이폰</b>6 플러스...',
'link': 'http://liverex.net/2772',
'pubDate': '20141006064908',
'title': '<b>아이폰</b>6 플러스 케이스, <b>네오</b> 하이브리드 메탈 사용후기'}] |
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 |
for item in data['channel']['item']:
print(item['author'], item['title'], '\n')
=================<<실행결과>>=================
김군의 생각하는노리터 슈피겐 <b>아이폰</b>7플러스 케이스 <b>네오</b>하이브리드CC2 장착 후기
LiveREX의 컴부수기 <b>아이폰</b>7 플러스 케이스, 슈피겐 <b>네오</b>하이브리드CC 후기
ScienceFiction <b>아이폰</b>6 케이스 - 슈피겐 <b>네오</b> 하이브리드 샴페인 골드
워터포르의 디지털 시간여행&와포TV 슈피겐 <b>아이폰</b>7 플러스 케이스, <b>네오</b>하이브리드CC2 후기
ScienceFiction 부서진 <b>아이폰</b>6 슈피겐 <b>네오</b> 하이브리드 케이스
성긍정의 세상여행 <b>아이폰</b>6 케이스 슈피겐 <b>네오</b>하이브리드
슈피겐코리아 공식 블로그 [공지] 슈피겐 <b>아이폰</b>7 케이스 <b>네오</b>하이브리드2, 터프아머2
나이스블루 <b>아이폰</b>6s 케이스, 슈피겐 <b>네오</b>하이브리드 EX 후기
씨디맨의 컴퓨터이야기 <b>아이폰</b> 추천 케이스 3GS <b>iPhone</b> 실케 <b>네오</b> 하이브리드 프레임
LiveREX의 컴부수기 <b>아이폰</b>6 플러스 케이스, <b>네오</b> 하이브리드 메탈 사용후기 |
cs |
Daum 웹검색 API
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 |
import requests
import json
from html.parser import HTMLParser
from pprint import pprint
api_key = ''
url = 'https://apis.daum.net/search/web?apikey={}&q={}&output=json'.format(api_key, '갤럭시 노트 7')
res = requests.get(url)
data = json.loads(res.text)
h = HTMLParser()
pprint(data['channel']['item'][0])
print('\n')
print(data['channel']['item'][0]['title'])
print('\n')
print('***** HTMLParser 모듈을 이용하여 HTML 파싱하기 *****')
print(h.unescape(data['channel']['item'][0]['title']))
==========================<<실행결과>>==========================
{'description': '또는 타 기종으로의 교환 및 환불 절차가 진행되었습니다. # ## 교환 여부와는 관계 없이, 모든 '
'<b>갤럭시 노트</b><b>7</b>은 사용 중지 대상입니다. '
'만약 이 제품을 소지하고 있다면 가능한 한 빨리 전원을 끈 후 최초 구매...',
'link': 'https://namu.wiki/w/%EA%B0%A4%EB%9F%AD%EC%8B%9C%20%EB%85%B8%ED%8A%B87',
'pubDate': '2017-10-01 11:33:52',
'title': '<b>갤럭시 노트</b><b>7</b> - 나무위키',
'url': 'namu.wiki'}
<b>갤럭시 노트</b><b>7</b> - 나무위키
***** HTMLParser 모듈을 이용하여 HTML 파싱하기 *****
<b>갤럭시 노트</b><b>7</b> - 나무위키 |
cs |
NAVER API
- https://developers.naver.com/main/
- [블로그 검색 가이드] https://developers.naver.com/docs/search/blog/
예제 #1 (json형식으로 크롤링)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 |
import json
import requests
from pprint import pprint
url = 'https://openapi.naver.com/v1/search/blog.json?query={}'.format('킹스맨2')
headers = {}
headers['X-Naver-Client-Id'] = ''
headers['X-Naver-Client-Secret'] = ''
# header는 key value로 이루어 지기 때문에 dict로 가져올 수 있음
res = requests.get(url, headers = headers)
#pprint(res.text)
data = json.loads(res.text)
#pprint(data)
#print(data['items'])
for item in data['items']:
print(item['bloggername'])
print('*'*20)
print(item['description'], '\n')
==========================<<실행결과>>==========================
김망상의 망상 라이프스타일
********************
불한당에서 시작해 악녀와 트랜스포머, 리얼에서 브이아이피까지 처참한 영화로 점철된 지난 날의 내 연쇄 망작 관람 릴레이를 <b>킹스맨2</b>가 끊어주리라 생각했다. 그렇게 그렇게 기대했는데 :: <b>킹스맨2</b> 후기...
정아
********************
루이스1987 클래식수트, <b>킹스맨2</b> 콜린퍼스 향수라고? 안녕하세요 정아에요 :) 오늘은 이번에 개봉한... 2. 브랜드 컬렉션은 본점 서촌 퍼뮤머리를 비롯한 공식 홈페이지 및 일부 엄선된 온라인과 오프라인...
폴쌤의 글공간
********************
해리를 통해 보여줬던 그 명장면들은 다 어디가고 그냥 흔한 액션영화가 되어 버린 듯 해서 여러모로 아쉬움이 남는 <b>킹스맨 2</b> 골든서클. 역시 속편으로 성공하기란 참으로 어려운 일이었나. 캐릭터들이...
곰솔이의 영화연애
********************
9월 27일 개봉영화 <<b>킹스맨</b>: 골든 서클> 후기 드디어 다시 만난 '<b>킹스맨</b>' 2015년 2월, 개봉 후에 엄청난 반응을 일으키며 청소년 관람 불가 영화임에도 무려 612만 명이라는 관객 수를 돌파했던 <<b>킹스맨</b>: 시크릿...
銀雨
********************
돈내고 볼만한 영화 거나하게 약을 빤 전작과 달리 약기운만 어렴풋이 남아있는 <b>킹스맨2</b> <b>킹스맨2</b>는 킹스맨의 이름을 달고나온 이상 강약중간약약약약약약의 약약약, 약, 약...약...그리고 또 약에 흠뻑 젖은...
프리멜리[PRIMELI]
********************
즐거운 일요일이에요 왜냐하면 내일이 월요일일지라도 연휴기 때문이쥬 (프리멜리 매장은 오픈이에요) 지난 금요일 , 남자친구랑 영화를 보러 가기로 했어요 킹스맨 골든서클 <b>킹스맨2</b> 매장마감하고 cgv로...
스투시의 Marketing&AD Factory
********************
John Denver - Take Me Home, Country Roads (존덴버의 오리지널 곡/1971) <b>킹스맨 2</b> 극장에서 보시길 추천해요. 영화 보고 나서 술 한잔 하면서 영화를 본 감상을 함께 나누는 즐거움도 잊지 마시길......
닝이의 작은 이야기
********************
다른 잇님들 모두 비슷하지 않을까 하는 생각이 드네요~ ㅋㅋㅋ 오늘은 영화 <b>킹스맨2</b> 골든서클 관람기를... 1편에서 죽은걸로 나왔던 해리하트가 <b>킹스맨2</b> 골든서클에서 이렇게 살아 돌아오니 더욱 흥미진진...
천천히 꾸준히(Slow and Steady)
********************
<b>킹스맨</b>: 골든 서클 감독 매튜 본 출연 태런 에저튼, 줄리안 무어, 콜린 퍼스 개봉 2017 영국, 미국 상세보기 어떻게 처음 <<b>킹스맨</b>>을 보게 되었는지 기억나진 않지만 참 재미있었다. 가장 유명한 2개의 장면이 있다....
라임의 순간
********************
킹스맨 : 골든서클 ( Kingsman: The Golden Circle, 2017 ) 킹스맨1편을 너무 재밌게 봐서 <b>킹스맨2</b>를 제작한다는 소식을 들었을 때 너무 기뻤었고 기다렸다. 그리고 드디어 개봉 ! 주말에 바로 미니랑 보고 왔다...
|
cs |
예제 #2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 |
import requests
client_key = ''
client_secret = ''
naver_url = 'https://openapi.naver.com/v1/search/blog.json?query=킹스맨2'
headers = {}
headers['Content-Type'] = 'application/xml'
headers['X-Naver-Client-Id'] = client_key
headers['X-Naver-Client-Secret'] = client_secret
res = requests.get(naver_url, headers = headers)
data = json.loads(res.text)
print(data['items'][0]['title'])
print('\n')
print(data['items'][0]['description'])
==========================<<실행결과>>==========================
<b>킹스맨2</b> 후기 : 엘튼 존이 다 한 영화
불한당에서 시작해 악녀와 트랜스포머, 리얼에서 브이아이피까지 처참한 영화로 점철된 지난 날의 내 연쇄 망작 관람 릴레이를 <b>킹스맨2</b>가 끊어주리라 생각했다. 그렇게 그렇게 기대했는데 :: <b>킹스맨2</b> 후기... |
cs |
반응형
'Python > Python Basic' 카테고리의 다른 글
크롤링(Crawling)_04 (함수) (0) | 2017.10.02 |
---|---|
크롤링(Crawling)_03 (HTML page crawling 실습) (0) | 2017.10.02 |
크롤링(Crawling)_01 (WEB, HTTP, Crawling의 개념) (0) | 2017.10.01 |
Pickle 모듈 (0) | 2017.09.30 |
Decorator_03 (Decorator Chaining, Method decoration, Decorator with parameters) (0) | 2017.09.30 |