selenium_quiz1
·
python/python_selenium
목적 : 네이버 부동산에서 송파 헬리오시티 검색 후 목록 추출하기 # 네이버 부동산에서 `송파 헬리오시티` 검색 후 목록 추출하기 from bs4 import BeautifulSoup import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys browser = webdriver.Chrome() url = "" browser.get(url) time.sleep(1) # 송파 헬리오시티로 이동 후 목록이 로딩될동안 대기. items = browser.find_element(By.ID, "search_input") items.se..
Headless 크롬
·
python/python_selenium
from bs4 import BeautifulSoup import time from selenium import webdriver options = webdriver.ChromeOptions() # headless 즉, 창을 띄우지않고 랜더링을 통해 크롤링 가능 # 다만 해당의 경우, user-agent가 headless로 인식되어 몇몇 사이트에서 막을 수 있다. options.headless = True options.add_argument("window-size=1920x1080") # 아래와 같이 user-agent를 나와 같은 상태로 만들 수 있음. options.add_argument("user-agent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleW..
Selenium 활용2
·
python/python_selenium
import requests from bs4 import BeautifulSoup header = {'User-Agent':("Mozilla/5.0 (Windows NT 10.0; Win64; x64) " "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36") ,"Accept-Language":"ko-KR,ko"} # 한글 언어 웹페이지를 불러옴 url = "" res = requests.get(url, headers=header) res.raise_for_status() soup = BeautifulSoup(res.text, "lxml") # with open("movie.html", "w", encoding="utf8") as..
Selenium 활용1
·
python/python_selenium
목표 : 네이버 항공에서 제주도행 항공권 찾기 from selenium import webdriver from selenium.webdriver.common.by import By # webdriverWait을 사용하기 위한 import from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time def wait_until(xpath_str): # 아래값이 나올때까지 기다림 ( 다만 나오지 않는 경우 최대 3초까지 기다림. ) WebDriverWait(browser, 3).until(EC.presence_of_element_loc..
Selenium 심화
·
python/python_selenium
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys # webdriverWait을 사용하기 위한 import from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time browser = webdriver.Chrome() browser.get("") # 로그인 버튼을 클릭 후 이동 elem = browser.find_element(By.CLASS_NAME,"link..
Selenium 기본
·
python/python_selenium
# 직접 웹브라우저를 컨트롤하여 webscraping # 현재 버전에 맞는 chrome driver.exe파일 다운로드해야됨 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys # 현재 폴더에 있음 = ./, 적지 않아도 된다. browser = webdriver.Chrome() #"./chromedriver.exe" browser.get("") # selenium 문법이 변경되었다. # find_element_by_class_name 은 하단과 같이 명시되어야 함. # 꼭 from selenium.webdriver.common.by im..
CSV 기본
·
python/python_selenium
import csv import requests from bs4 import BeautifulSoup filename = "시가총액1-200.csv" # excel에서 열 때 한글이 깨지면 encoding을 `utf-8-sig`로 작성. # 파일을 쓰기모드로 오픈 후 파일객체를 csv.writer 에 넣음. f =open(filename, "w", encoding="utf-8-sig", newline="") writer = csv.writer(f) # string.split("구분자") = 구분자를 기준으로 string을 나눈 뒤 리스트로 삽입 title = "N종목명현재가전일비등락률액면가시가총액상장주식수외국인비율거래량PERROE".split("\\t") # writer.writerow를 통해 list ..
BeautifulSoup4 활용3
·
python/python_selenium
# 다음 영화 이미지 2018~2022 년 1~5순위 포스터 가져오기 import requests from bs4 import BeautifulSoup import lxml for year in range (2018, 2023): url = "" res = requests.get(url) res.raise_for_status() soup = BeautifulSoup(res.text, "lxml") images = soup.find_all("img", attrs={"class":"thumb_img"}) for idx,image in enumerate(images): image_url = image["src"] # image_url 가 `//`로 시작하면 앞에 https: 추가. if image_url.st..