본문 바로가기
728x90
반응형
SMALL

App Programming257

[Web Crawler] 조회결과를 수집하고 txt 파일로 저장하기 웹페이지 데이터 추출 # 필요한 모듈과 라이브러리를 로딩하고 검색어 입력 from bs4 import BeautifulSoup from selenium import webdriver import time import sys query_txt = input('크롤링할 키워드 입력: ') f_name = input('검색 결과를 저장할 파일경로와 이름 지정(예 : /Users/test.txt)') # 크롬 드라이버 사용해서 웹 브라우저 실행 path = "/Users/chromedriver" driver = webdriver.Chrome(path) driver.get("https://korean.visitkorea.or.kr/main/mian.html") time.sleep(2) # 창이 모두 열릴 때까지 .. 2022. 2. 16.
[Web Crawler] 셀레니움 (Selenium) (4) 자바스크립트 코드 실행 1. 스크롤 이동 # 브라우저 스크롤 최하단으로 이동 driver.execute_script('window.scrollTo(0, document.body.scrollHeight);') # CSS 셀렉터로 클릭 driver.execute_script("document.querySelector('body > div.modal-options__buttons > button.btn.btn-primary').click();") # 또는 elemToclick = driver.~~~ driver.execute_script('arguments[0].click();', elemToclick) # driver.find_element_by_css_selector(~~).click()과 동일하나 이 코.. 2022. 2. 15.
[Web Crawler] 셀레니움 (Selenium) (3) 경고창 (alert) 경고창이 떴을 때 수락 또는 거절을 눌러주거나 경고창의 텍스트를 가져올 수 있다. # 경고창으로 이동 driver.switch_to.alert from selenium.webdriver.common.alert import Alert Alert(driver).accept() # 경고창 수락 누름 Alert(driver).dismiss() # 경고창 거절 누름 print(Alert(driver).text # 경고창 텍스트 얻음 쿠키값 # 쿠키값 얻기 driver.get_cookies() # 쿠키 추가 driver.add_cookie() # 쿠키 전부 삭제 driver.delete_all_cookies() # 특정 쿠기 삭제 driver.delete_cookie(cookiename) Wa.. 2022. 2. 15.
[Web Crawler] 셀레니움 (Selenium) (2) 엘레먼트 (element) 웹브라우저에서 로그인도 하고 버튼도 클릭하고 검색창에 텍스트를 입력한다. 브라우저 상에서 보이는 버튼, 검색창, 사진, 테이블, 동영상 등등 이 모든 것들을 엘레먼트 (element, 요소) 라고 부른다. 셀레니움은 브라우저에서 특정 요소를 클릭하고 텍스트를 입력하고 사진등을 받아오고 텍스트를 가져오는 등등 어떠한 위치에 있는 무언가를 부를 때 요소라는 개념으로 접근한다. 다양한 방법으로 요소로 접근할 수 있는데 대부분 xpath 를 사용한다. river.find_element_by_xpath('/html/body/div[2]/div[2]/div[1]/div/div[3]/form/fieldset/button/span[2]') # xpath 로 접근 driver.find_elem.. 2022. 2. 15.
[Web Crawler] 셀레니움 (Selenium) (1) 셀레니움 (Selenium) python으로 크롤링할 때 Beautifulsoup4와 더불어 빼놓을 수 없는 훌륭한 라이브러리이다. pip install selenium # python 환경 conda install selenium # conda 환경 Import import selenium from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC fr.. 2022. 2. 15.
[Web Crawler] BeautifulSoup으로 다양한 데이터 추출하기 BeautifulSoup HTML 문서를 탐색해서 원하는 부분만 쉽게 뽑아낼 수 있는 python 라이브러리인 BeautifulSoup이 존재한다. # BeautifulSoup 설치 pip install beautifulsoup4 import requests from bs4 import BeautifulSoup url = 'https://kin.naver.com/search/list.nhn?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC' response = requests.get(url) if response.status_code == 200: html = response.text soup = BeautifulSoup(html, 'html.parser') print(soup) else : .. 2022. 2. 14.
[Web Crawler] HTML 기본태그 (6) HTML Table HTML에서 테이블을 만들기 위해서는 tag를 사용한다. 이름 전화번호 홍길동 010-1234-5678 이순신 010-2323-5674 : HTML에서 테이블을 정의하는 tag이다 : 테이블에서 전체 헤더 항목을 감싼다. : 테이블에서 전체 데이터 항목을 감싼다. : 테이블에서 하나의 행 (row)을 뜻한다. : 하나의 헤더를 입력한다. : 하나의 데이터를 입력한다. 이름 전화번호 홍길동 010-1234-5678 이순신 010-2323-5674 : 이름 금액 홍길동 10만원 이순신 20만원 sum : 30만원 2. 행 합치기 : rowspan 속성을 이용하면 행을 합칠 수 있다. Content 이름 홍길동 이순신 지역 대구광역시 인천광역시 HTML Table Caption Tag는 테.. 2022. 2. 14.
[Web Crawler] HTML 기본태그 (5) HTML List 웹 페이지에서 항목이나 데이터를 순차적으로 나열하는 것을 List라고 한다. list는 크게 3가지의 종류가 있다. 순서가 없는 리스트 (unordered list), 순서가 있는 리스트 (ordered list), 정의 리스트 (definition list) 순서가 없는 리스트 (unordered list) 항목들을 나열할 때 순서가 없으며 검은색 점으로 항목들을 표시한다. 항목 1 항목 2 항목 3 : unordered list의 약자이며, 순서없는 리스트를 정의한다. : 싸여진 각 항목은 tag를 사용하여 항목을 표시한다. HTML5 CSS5 Java script CSS3을 이용하면 검은색 점을 바꿀 수 있다. style="list-style-type"을 이용한다. disc : 디.. 2022. 2. 14.
[Web Crawler] HTML 기본태그 (4) HTML Image (이미지) 웹 페이지에는 텍스트, 링크 뿐만 아니라 많은 이미지들이 존재한다. HTML에서 이미지를 삽입하려면 tag를 사용해야 한다. tage는 image의 약어이며, END TAG가 없는 empty tag이다. src : source의 약자로, 이미지가 있는 URL주소를 입력합니다. alt : alternative의 약자로, URL주소가 틀리거나 어떠한 에러로 인하여 이미지가 사용자에게 보여지지 않을때 대체로 보여줄 텍스트를 입력합니다. # 가져오고 싶은 이미지가 있으면 이미지를 오른쪽 마우스 클릭후 이미지 주소복사를 누른후 src에 붙여넣기 한다. 결과화면의 왼쪽은 웹 페이지에 정상적으로 이미지가 삽입된 상황이고, 오른쪽은 절대경로가 잘못되어 웹 페이지에 이미지가 삽입되지 못하고.. 2022. 2. 10.
[Web Crawler] HTML 기본태그 (3) HTML Quotation / Comment Tag는 quote의 약자이며, 짧은 문장을 인용할 때 쓰이는 태그이며 브라우저에서는 큰 따옴표로 표시된다. Tag는 긴 문장을 인용할 때 쓰이는 태그이며 브라우저에서는 들여쓰기로 표시된다. 전구를 발명한 에디슨은 이렇게 말했다. 모든사람은 다이아몬드 원석과 같다 갈고 닦으면 누구나 찬란히 빛나게 마련이다 긴 인용문은 브라우저에서 들여쓰기로 보여진다 HTML또는 하이퍼텍스트 마크업 언어(HyperText Markup Language, 문화어: 초본문표식달기언어, 하 이퍼본문표식달기언어)는 웹 페이지를 위한 지배적인 마크업 언어다. HTML은 제목, 단락, 목록 등 과 같은 본문을 위한 구조적 의미를 나타내는 것뿐만 아니라 링크, 인용과 그 밖의 항목으로 구조적.. 2022. 2. 10.
728x90
반응형
LIST