본문으로 바로가기

[Python] API를 통해 크롤링하기

category Skills/Python 2021. 11. 8. 16:59
반응형

개발자도구를 통해 html을 직접 끌어와 자료를 추출하는 방법말고,

자료를 공공으로 개방하여 다양한 활용을 할 수 있도록 제공하기도 한다.

이 때는 API를 이용해 key를 받아 사용하면 된다.

 

1. 파파고

네이버 개발자 센터에서 API를 받아 파파고번역 시스템을 불러올 수도 있다.

https://developers.naver.com/main/

 

NAVER Developers

네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음

developers.naver.com

https://developers.naver.com/docs/papago/papago-nmt-api-reference.md 

 

Papago 번역 API 레퍼런스 - Papago API

Papago 번역 API 레퍼런스 인공 신경망 기반 기계 번역 설명 인공 신경망 기반의 기계 번역(NMT, Neural Machine Translation) 결과를 반환합니다. 요청 URL https://openapi.naver.com/v1/papago/n2mt 프로토콜 HTTPS HTTP 메

developers.naver.com

url = 'https://openapi.naver.com/v1/papago/n2mt'
info = {
    "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", # 파파고 API 레퍼런스 [참고사항 - 요청 예] 참조
    "X-Naver-Client-Id": "애플리케이션 등록 시 발급받은 클라이언트 아이디 값", 
    "X-Naver-Client-Secret": "애플리케이션 등록 시 발급받은 클라이언트 시크릿 값" 
}

data = {
    'source': 'ko',
    'target': 'en',
    'text': '번역하고 싶은 문구' # 파파고 API 레퍼런스 [파라미터] 참조
}

resp = requests.post(url, headers=info, data=data)

data = json.loads(resp.text)

 

2. 공공데이터

  • https://www.data.go.kr/ : 정부에서 공개된 데이터 API
  • ex) 코로나 데이터, 마스크 현지 정보 등 수집 가능
  • 인증키 발급
  • 데이터찾기 - 데이터목록 - 코로나 - 오픈 API - 공공데이터 감염현황 : 서비스URL, 요청변수(header정보), 출력결과 확인 가능
    • 샘플코드가 존재
    • params 변수로 만들어서 집어넣어주는 방식으로 진행
    • 동적크롤링보다 설명도 잘나와있고 훨씬 더 편리
  • 여러가지 데이터들을 가져와서 다양하게 활용할 수 있다.
url = '공공데이터 API url'
info = {
    'ServiceKey' : '마이페이지 - 인증키 발급현황'
}

resp = requests.get(url, params=info) # REST = GET과 똑같음
resp.text

 

반응형