반응형

Data Engineering 28

[AWS] 아마존 DB와 PostgreSQL 연동하기(+postgis)

이번 포스팅에서는 이전포스팅에서 만든 아마존 데이터베이스와 PostgreSQL을 연동해보겠습니다. AMS와 PostgreSQL연동하기 먼저 저번에 만든 데이터베이스를 눌러 연결&보안의 엔드포인트를 복사하고 포트번호를 확인합니다.(포트번호는 기본 5432입니다) 이후 PgAdmin에 접속하고, Dashbord의 Add New Server를 눌러줍니다. 먼저 서버이름을 정해주고 Connection탭으로 넘어갑니다. 그리고 복사한 엔드포인트를 Host name/address에 넣고, 아마존 DB를 만들었을때 비밀번호를 넣습니다. 이렇게 하면 연결이 되어야하나..... 대부분 안될겁니다... ㅠㅠ Unable to connect to server: timeout expired aws 이런 오류가 뜰 확률이 높습..

[AWS] AWS DATABASE 생성하기

본 포스팅은 아래 링크를 참고하여 만들었습니다. docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html PostgreSQL DB 인스턴스 생성 및 PostgreSQL DB 인스턴스의 데이터베이스에 연결 - Amazon Relational Database Se PostgreSQL DB 인스턴스 생성 및 PostgreSQL DB 인스턴스의 데이터베이스에 연결 DB 인스턴스를 만드는 가장 쉬운 방법은 RDS 콘솔을 사용하는 것입니다. DB 인스턴스를 생성한 후에는 pgAdmin 유틸리티 같 docs.aws.amazon.com 저번 포스팅에서 공간데이터를 PostgreSQL에..

[QGIS] QGIS로 SHP파일 만들기(CSV를 SHP로 변환)

공간데이터를 활용하려면 SHP파일이 필요합니다. SHP란? SHP 파일이란 ESRI사의 GIS 프로그램 ArcView에 사용되는 표준 포맷 파일 지리현상에 대한 기하학적 위치와 속성 정보를 저장, 제공해주는 데이터 포맷입니다. 주로 GIS상에서 사용하지만 최근에는 ESRI ArcView 뿐만아니라 기타 GIS등의 프로그램 및 3D 프로그램, Autocad map 등에서도 사용되고 있어 공용 표준 포맷 등으로 광범위하게 사용되고 있습니다. SHP 포맷은 도형정보와 속성정보를 따로 관리하는 전형적인 분리형 GIS 파일로 초창기에는 Point, Arc, Polygon, MutliPoint 등의 2차원 사상(feature)만을 지원했으나, 현재는 3차원 사상(feature)도 지원합니다. SHP파일의 구성을 살..

[Crawling] NS SHOP 제품목록 크롤링

www.nsmall.com ns shopping mall www.nsmall.com 개요 NS SHOP에서 제품을 검색하고 제품 리스트를 크롤링 한다. url : 'http://www.nsmall.com/NSSearchList?storeId=13001&langId=-9&searchTerm={}' 마지막에 검색단어가 들어간다.(페이지는 따로 들어가지 않음) 제품메이커, 제품정보링크, 제품명, 가격을 크롤링한다. 가격은 기본적으로 할인된 가격을 크롤링하고 할인된 가격정보가 없으면 기본가격을 가지고 온다. 페이지 소스 살펴보기 - 기본 : 'div.photo_list.plType2 li' - item_maker(메이커), : 'strong' - item_link(링크) : a href - item_name(품..

[Crawling] 네이버 영화 평점 및 댓글 크롤링

이번 포스팅에서는 네이버 영화 리뷰 및 평점을 크롤링해보겠습니다. https://movie.naver.com/movie/point/af/list.nhn 평점 : 네이버 영화 네티즌 평점과 리뷰 정보 제공 movie.naver.com 네이버 영화평점 개요 https://movie.naver.com/ 로 이동 평점/리뷰 메뉴 클릭 영화제목, 영화링크, 평점, 댓글을 크롤링한다. 요청방식 url https://movie.naver.com/movie/point/af/list.nhn?&page=2 요청방식 get 요청파라미터 page: 페이지 번호 1000 페이지 까지만 조회가능 항목 base : table.list_netizen > tbody > tr > td.title : 이 td들 안에 다 있다. 영화제목 ..

[Crawling] 다나와(danawa) 제품 리스트 크롤링

이번 포스팅의 목적은 제품 검색을 필터링해서 한 후에 제품 리스트를 크롤링 하는 것이다. 이번 포스팅에서는 다나와의 노트북가격비교 리스트를 이용한다. prod.danawa.com/list/?cate=112758&15main_11_02 노트북 가격비교리스트 :: 행복쇼핑의 시작 ! 다나와 (가격비교) - Danawa.com 전체 선택 선택 삭제 상품 비교 관심상품 담기 prod.danawa.com 다나와조회 조회 조건 노트북 카테고리의 검색에서 제조사 Apple을 선택 더보기 버튼을 클릭해서 나오는 제조사 중 하나 선택 각 제품명, 사진링크, 가격(1개) 데이터 조회(광고 제품 제외!) 5페이지까지 검색 결과만 가져온다. 사진링크 페이지 소스 살펴보기 먼저 제조사별 필터링을 걸어야하는데 APPLE는 제조사..

[Crawling] TripAdvisor 댓글 크롤링

TripAdvisor에서 장생건강원이라는 식당의 댓글을 크롤링해보겠습니다. https://www.tripadvisor.co.kr/Restaurant_Review-g294197-d17423735-Reviews-Jangseng_Geongangwon-Seoul.html Jangseng Geongangwon 23, Gangnam-daero 124-gil, Gangnam-gu, Seoul 06114, South Korea www.tripadvisor.com 홈페이지 살펴보기 트립어드바이저 댓글은 처음에는 앞부분만 표시되고 나머지부분은 표시가 안되어있다. 나머지부분을 보려면 더보기 버튼을 눌러야한다. 더보기 버튼을 누르면 숨기기 버튼으로 바뀌고 숨겨진 부분들이 표시됩니다. 따라서 크롤링 하기 전에 이 더보기 부분을..

[Crawling] Headless 브라우저

브라우저의 headless 모드 Headless 브라우저 브라우저의 창을 띄우지 않고 실제 브라우저와 동일하게 동작하도록 하는 방식 CLI 기반의 OS (리눅스 서버)를 지원하기 위한 브라우저 크롬은 버전 60부터 headless 모드 지원 selenium에서 headless 모드 webdriver option에 headless 설정 from selenium.webdriver import Chrome, ChromeOptions#headless 옵션 부여 options = ChromeOptions() options.add_argument('headless') #headless option 설정 options.add_argument('window-size=1920x1080') #..

[Crawling] YouTube 동영상 목록 크롤링

이번 포스팅에서는 유튜브 목록을 크롤링해보겠다. 유튜브의 특징은 스크롤바를 끝까지 내리면 밑 부분이 로딩이 된다. 처음부터 모든것을 굳이 가지고 올 필요가 없기 때문에 먼저 일부만 가지고 오고 나중에 사용자가 요청하면 그때 읽어오는 원리인 것이다. 물론 끝이 없는건아니다. 끝은 있다. 따라서 YouTube 동영상목록을 가지고 오려면 먼저 스크롤을 끝까지 내린 다음에 가지고 와야한다. 이 스크롤을 내리는데 Selenium 을 쓴다. 셀레늄을 이용한 무한 스크롤 execute_script('javascript') 웹에서 자바스크립트 실행 자바스크립트 코드가 결과를 만들어냄 javascript method window.scrollTo(width, height):스크롤바 이동 document.documentEl..

[Crawling] Daum, Naver 로그인 후 메일 목록 크롤링

▣ 다음 로그인 후 메일 목록 크롤링 다음의 로그인 url과 메일 url을 가져온다. login_url = 'https://logins.daum.net/accounts/signinform.do' mail_url = 'https://mail.daum.net/' id = '' pwd = ''크롬 드라이버 열기 from selenium.webdriver import Chrome driver = Chrome() driver.get(login_url)로그인 # 로그인 페이지 소스 체크 - 아이디와 패스워드는 name으로 가지고온다. - 로그인 버튼은 id로 가지고 온다. - send_keys()로 해당값을 입력한다. #로그인 코드 #ID : name=id ..

반응형