본문 바로가기

Data Handling/Data Collecting

(6)
selenium - 지하철역 인근 점포 수(카페, 호프집, 제과점 등) 크롤링 서울역 근처에는 카페가 몇 개 있을까? 강남역 근처에는 빵집이 몇 개 있을까? 이태원역 근처에는 술집이 몇 개 있을까? 오늘은 이 물음에 대한 솔루션을 주제로 포스팅을 준비해봤습니다. 바로 시작해볼게요! 준비물 서울시 상권 데이터 - 크롤링 지하철역 주소 데이터 - 파일 다운 법정동, 행정동 맵핑 데이터 - 파일 다운 1. 서울시 상권 데이터 먼저 서울시의 '상권분석서비스'에서 특정 지역의 점포 수를 크롤링하는 과정입니다. 준비물에 걸어둔 링크로 들어가시면, 지역별로 다양한 형태의 데이터를 제공하는 것을 확인할 수 있습니다. 그 중 저는 2018년 1, 2, 3, 4분기, 2019년 1분기의 외식업 데이터, 특히 제과점, 호프/주점, 카페 수 데이터를 필요로 합니다. 해당 데이터는 url로 들어가면 바로..
selenium - 부킹닷컴 객실 가격 크롤링 selenium을 사용하기 이전, beautifulsoup으로 먼저 시도해보았습니다. 하지만 이상하게도 가격 정보에 관해서만 계속 빈리스트로 반환 되었습니다. 아무리 공부하고 고민해도 해결이 되지 않아 크롤링 전문가를 찾아 자문을 구하고자 구글링을 했습니다. 정말 감사하게도 한 분이 답장을 주셨고, 실제 오프라인으로 만나 도움을 주셨습니다. -- '코딩 좀 알려주라(이하 코알라)'의 이** 매니저님 감사합니다 -- 그 이유를 보자면 가격 정보는 수정이 많고(부킹닷컴 자체 할인/ 특가 등), 어떤 이유에서인지 다른 공간에서 따로 관리하고 있는것 같다고 합니다. 그래서 html을 불러오는 과정에서 가격 정보는 빠지는 것이라고 하는데요, 이럴 때의 솔루션으로 selenium을 알려주셨습니다. selenium은..
beautifulsoup - 부킹닷컴 호텔 이름, 평점 크롤링 순서 url 준비 requests를 사용하여 url로부터 정보 가져오기 beautifulsoup을 사용하여 html 형식으로 파싱하기 원하는 정보 지정해서 담기 문자열만 추출 0. 라이브러리 import requests # url에서 정보 요구!! from bs4 import BeautifulSoup # 이걸로 가져온 정보를 정리할거야 1. url 준비 url = '찾고자 하는 정보가 포함된 페이지 url' 2. requests를 사용하여 url로부터 정보 가져오기 content = requests.get(url).content # url로부터 정보(content)를 가져와 url에 담긴 정보가 이렇게나 많습니다. 이걸 컴퓨터가 이해하기 쉽게 정리하는 작업을 beautifulsoup이 도와줍니다. 3. ..
pandas.read_html() - 네이버 금융 두바이유 시세 크롤링 크롤링을 하고자 하는 데이터가 table형식으로 되어 있다면 pandas의 read_html()을 이용할 수 있습니다. 예시를 통해서 바로 시작해보겠습니다. 다음은 네이버 금융에서 두바이유를 검색했을때 페이지 화면입니다. 여기서 바로 read_html을 통해서 모든 table형식의 데이터를 가져올수 있겠지만, 저희가 필요한 것만 가져오면 시간도 절약되고 처리과정도 줄어들것입니다. 저희가 필요한 정보를 두바이유의 '일별 시세'라고 가정했을때, 일별 시세만 보이는 url을 찾을 수 있을까요? 네, 가능합니다. '일별 시세'의 2페이지를 마우스 우클릭 해보시면 새 탭에서 링크 열기가 보이실 겁니다. 그렇게 링크를 열면 '일별 시세'만 보이는 url에 접근하실 수 있습니다. 사실 2페이지를 누른다는건 2페이지의..
공공데이터포털 API - 대한민국 국경일 및 공휴일 순서 key 받기 url 준비 requests를 사용하여 url로부터 정보 가져오기 상위/하위 등을 파악하기 쉽게 xmltodict로 파싱 (xml 파일이라면 json으로 변환 - dumps) json을 파이썬으로 load 원하는 정보 지정해서 담기 0. 라이브러리 import requests # url로부터 정보를 가져올때 사용 import xmltodict # orderedDict 형태로 변환 - 보기 쉽게 import json # xml을 json으로 json을 파이썬으로 변환 1. key 받기 홈페이지에서 발급 받으세요. 2. url 준비 해당 홈페이지에는 받고자 하는 데이터에 대해 설명하는 문서 파일이 첨부되어 있을 것입니다. 문서파일에서 받고자 하는 url과 key를 합쳐 새로운 url을 만들..
API의 필요성 API 란? Application Programming Interface, 응용프로그램의 프로그래밍을 도와주는 매개체 정도로 보면 되는데요, API가 없었을때의 상황을 가정해보면 API의 역할과 중요성을 파악할 수 있습니다. 만약 우리가 프로젝트를 하는데 날씨 정보가 꼭 필요하다고 가정해보죠. 최대한 실시간으로 업데이트 되는 날씨 정보를 받기 위해 기상청 데이터 관리자에게 이메일을 보냅니다. " 안녕하세요. 우리는 00 대학교 00 프로젝트를 진행하고 있는데, ... 이런 이유로 날씨 데이터가 꼭 필요합니다. 그리고 이 데이터를 악용하지 않을 것도 약속드릴게요. 감사합니다. " 기상청 데이터 관리자는 언제, 누구에게, 어떤 이유로 데이터를 보내줬다는 내용을 정리하고, 데이터를 악용하지 말아달라는 부탁과 ..