반응형

Data Engineering/Crawling 15

[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 ..

[Crawling] Selenium

Selenium 웹 브라우저 제어 도구 원래는 웹 어플리케이션 자동 테스트를 위한 목적으로 만들어진 프레임워크. 웹브라우저를 프로그램을 이용해 제어할 수 있다. Request 모듈의 문제점 Javascript를 이용한 AJAX 기법의 비동기적 요청 처리 페이지 크롤링이 힘들다. 로그인 후 요청이 가능한 페이지들에 대한 크롤링이 번거롭다. Selenium을 활용하면 이 두가지 모두 쉽게 처리할 수 있다. Selenium 단점 속도가 느림 설치 파이썬 패키지 설치 conda install selenium pip install selenium 튜토리얼 !pip install selenium 드라이버 드라이버 : 웹브라우저를 제어하는 프로그램 웹 브라우저별로 제공된다. 위에서 설치한 selenium 패키지의 드..

[Crawling] 쿠팡검색결과 크롤링

www.coupang.com/np/search COUPANG 쿠팡은 로켓배송 www.coupang.com 검색키워드 입력을 받는 keyword 설정 keyword = input('검색키워드: ') params 및 header 설정 - params와 headers는 딕셔너리 구조로 설정한다. params에는 받아올 값을 입력하고 headers에는 user-agent나 cookie같은 것을 입력한다. - user-agent는 F12(검사)에서 Network탭을 누른다음 Doc탭을 눌러서 볼 수 있다. - user-agent가 없으면 크롤링이 안될 수도 있으니 가급적 설정하도록 하자. params = { 'q' : keyword, } #User-Agent header설정 headers = { 'User-Age..

[Crawling] KOSPI 주가 크롤링

https://m.stock.naver.com/sise/siseIndex.nhn?code=KOSPI 코스피 - 네이버 증권 관심종목의 실시간 주가를 가장 빠르게 확인하는 곳 m.stock.naver.com 코스피 주가 크롤링을 위해 네이버 증권을 이용하였다. 해당페이지에서 크롤링하기 전 먼저 살펴보아야하는 것이 있다. 먼저 F12를 누른다음 'NETWORK'탭으로 들어간다. 하지만 스크롤을 좀만 내리다보면 스크롤을 더 내리다보면 아무것도 누르지 않고 단지 스크롤만 내렸을 뿐이지만 신호가 왔다갔다하는 것을 볼 수 있다. 이번에는 저 링크로 들어가보겠다. 처음에 네이버증권을 틀었을때는 이용자가 어느정도까지 스크롤을 내릴지 모르기 때문에 데이터를 가지고 오지 않는다. 그리고 이용자가 스크롤을 내리면 그제서야 ..

반응형