Crawling
-
SeleniumPython 2020. 6. 8. 17:55
Selenium 웹페이지 테스트 자동화용 모듈 개발/테스트용 드라이버(웹브라우저)를 사용하여 실제 사용자가 사용하는 것처럼 동작 크롬 드라이버 다운로드 PhantomJS 사용자는 크롬 headliess 모드 사용 추천 Anaconda Navigator > Environments > Not installed> selenium 설치 from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium..
-
Webcrawling - XMLPython 2020. 6. 8. 17:27
기상청 자료 크롤링 하기 기상청 rss https://www.weather.go.kr/weather/lifenindustry/sevice_rss.jsp endpoint http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108 import urllib.request as req import requests from bs4 import BeautifulSoup import os.path import time url = 'http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108' dt = time.strftime('%Y%m%d', time.localtime(time.time())) xml_..
-
로그인하여 데이터 크롤링하기Python 2020. 6. 8. 17:18
로그인하여 데이터 크롤링하기 특정한 경우, 로그인을 해서 크롤링을 해야만 하는 경우가 존재 예) 쇼핑몰에서 주문한 아이템 목록, 마일리지 조회 등 이 경우, 로그인을 자동화 하고 로그인에 사용한 세션을 유지하여 크롤링을 진행 HTTP 상태 코드 1xx (정보): 요청을 받았으며 프로세스를 계속한다 2xx (성공): 요청을 성공적으로 받았으며 인식했고 수용하였다 3xx (리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요하다 4xx (클라이언트 오류): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다 5xx (서버 오류): 서버가 명백히 유효한 요청에 대해 충족을 실패했다 로그인 후 데이터 크롤링 하기 endpoint 찾기 (개발자 도구의 network를 활용) id와 password가 전달되는 fo..
-
Web-Crawling (다음 뉴스)Python 2020. 6. 8. 17:04
다음뉴스 크롤링하기 %%html import requests from bs4 import BeautifulSoup 제목 가져오는 함수 def get_daum_news_title(news_id): url = 'https://news.v.daum.net/v/{}'.format(news_id) response = requests.get(url) status_code = response.status_code if status_code == 200: soup = BeautifulSoup(response.text) title_h3 = soup.select_one('h3.tit_view') ret_title = title_h3.text.replace('\'','').replace('"','') else: soup =..
-
Web-Crawling (네이버 영화)Python 2020. 6. 5. 14:58
네이버 영화 %%html import requests from bs4 import BeautifulSoup import datetime 날짜 지정하는 함수 def get_date(day): now = datetime.datetime.now() #tomorrow = now + datetime.timedelta(days=1) #print(type(tomorrow)) #yesterday = now + datetime.timedelta(days=-1) # date object -> str ret_date = now + datetime.timedelta(days=day) return ret_date.strftime('%Y%m%d') p_date = get_date(-10) p_date '20200526' 함수 작..
-
Web-Crawling (네이버 북)Python 2020. 6. 4. 18:37
네이버 책 검색기 네이버 책 메뉴에서 빅데이터를 검색 해 책 제목, 저자, 출판사, 출판일, 정가, 할인가 출력 %%html import requests from bs4 import BeautifulSoup 주소 작업 url = 'https://book.naver.com/search/search.nhn' params = {'sm':'sta_hty.book', 'sug':'', 'where':'nexearch', 'query':'bigdata'} get 요청 response = requests.get(url, params=params) status_code = response.status_code print(status_code) if status_code == 200: text = response.tex..
-
Web-CrawlingPython 2020. 6. 4. 18:16
스크래핑과 크롤링 스크래핑(Scraping) 웹사이트에 있는 특정 정보를 추출하는 기술크롤링(Crawling) 웹사이트를 정기적으로 돌며 정보를 추출하는 기술1.1 데이터 다운로드 파이썬 네트워크 라이브러리 urllib urllib를 이용한 다운로드 urllib.request 사용 urllib.request.urlretrieve() : 파일 직접 다운로드 %%html #import import urllib.request #다운받을 파일 경로 url = 'https://t1.daumcdn.net/daumtop_chanel/op/20170315064553027.png' downfile = 'daum_logo.png' #다운로드 urllib.request.urlretrieve(url, downfile) pri..