3장. API를 이용한 크롤링
Updated:
https://curl.trillworks.com/
API
-
Application Programming Interface
-
프로그램들 사이를 연결해주는 매개체
-
API 정보는 크롤링을 할수 없다
(GET 요청한 후에 API정보 를 표시하기 때문에) -
보통 API를 이용한 데이터는 ‘동적’으로 변화하는 일이 많아
실시간으로 값을 불러와야 하는 경우이다 -
크롬 개발자 도구의 Network 탭에서 웹사이트가 데이터를
요청하는 API를 볼 수 있다
url = "http://.../api/.../...
req = requests.get(url) # JSON 데이터
- API의 URL에 GET 요청을 보내면 JSON 데이터를 얻을 수 있다
-
JSON은 key와 value를 저장하는, 딕셔너리 꼴의 데이터 형식이다
-
몇몇 웹 사이트들은 크롤러 등을 통한 기계적인 접근을 막고 있다
이를 우회하기 위해 requests.get메소드에 “headers”매개변수를
지정해주어야 한다 - ‘헤더’란 HTTP 상에서 클라이언트와 서버가 요청 또는 응답을 보낼 때
전송하는 부가적인 정보를 의미한다
custom_header = {
'referer' : ...
'user-agent' : ... }
- referer은 이전 웹 페이지의 주소를 의미
- user-agent는 이용자의 여러 가지 사양을 의미
JSON
import json
with open("stock.json") as stock :
data = json.loads(stock)
- stock.json 이라는 json 데이터를 data 변수에 로드
Leave a comment