200410_TIL
10 Apr 2020 | TIL오늘 한 일
- 새로운 크롤링 사이트에 대해서 사이트를 크롬 개발자 도구를 통해서 분석해봤다.
- 새로운 파이썬 파일을 만들어서 틀을 구상 중이다.
느낀 점
- 확실히, 아는 만큼 보인다고 개발자 도구를 통해서 어떤 값들을 불러와야 할지 조금씩 느껴지는 중이다.
- 어쩔때, selenium을 쓰고, requests패키지를 써야할지 느껴보는 중이다.
내일 할일
- 새로운 크롤링 사이트 분석 및 제작
요즘 개발자는 인력이 부족하다고 한다.
이점을 적극 활용하여 취업에 도전해보자!TIL을 매일매일 작성하자.
신입이 실무를 많이 알 수 없는것은 당연하다. 대신 이 친구가 얼마나 꾸준한지, 간절한지를 많이 본다고 한다. 이를 증명하기 위해서는 TIL을 통해 나의 꾸준함, 무엇을 배웠는지 보여주자. 요 몇주간 강의 듣긴 했다만, 작성을 하진 않았다.. 반성하자!원티드 가입하기
개발자 직군의 구직은 사람인, 잡코리아보다 여기가 좋다고 한다.urllib이나 requests로 가져올 수 없는 데이터들이 있다. 바로, Javascript를 통해 후처링 렌더링되어 불러오는 코드들이다.
또, 로그인 시, 사용자가 직접 접근한건지 프로그램으로 접근하는건지를 감지해서 막을 수도 있다고 한다.
브라우저로 PDF 보는것도 문제가 된다.
이러한 문제점들을 해결하기 위해 Selenium을 사용하여, 실제 브라우저를 제어할 수 있다.
# selenium 임포트
from selenium import webdriver
# webdriver 설정
browser = webdriver.Chrome('/usr/local/bin/chromedriver')
# 크롬 브라우저 내부 대기
browser.implicitly_wait(5) # 관행적으로 사용
# 속성 확인
print(dir(browser))
# 브라우저 사이즈
# browser.set_window_size(1920, 1280) # maximize_window(), minimize_window()
# 페이지 이동
browser.get('https://www.daum.net')
# 페이지 내용
print('Page contents :'.format(browser.page_source))
print()
# 세션 값 출력
print('Sessionn ID : {}'.format(browser.session_id))
# 타이틀 출력
print('Title : {}'.format(browser.title))
# 현재 URL 출력
print('URL : {}'.format(browser.current_url))
# 현재 쿠키 정보 출력
print('Cookies : {}'.format(browser.get_cookies()))
# 검색창 input 선택
element = browser.find_element_by_css_selector('div.inner_search > input.tf_keyword')
print(element)
# 검색어 입력
element.send_keys('방탄소년단')
# 검색
element.submit()
# 스크린 샷 저장1
# browser.save_screenshot("./website_ch1.jpg")
# 스크린 샷 저장2
# browser.get_screenshot_as_file("./website_ch2.jpg")
# 브라우저 종료
browser.quit()