selenium_quiz1

2023. 4. 30. 23:43·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 = "<https://new.land.naver.com/>"
browser.get(url)
time.sleep(1)

# 송파 헬리오시티로 이동 후 목록이 로딩될동안 대기.
items = browser.find_element(By.ID, "search_input")
items.send_keys("송파 헬리오시티")
items.send_keys(Keys.ENTER)
time.sleep(2)

# 거래방식 / 전체 면적 / 전체 동
items = browser.find_elements(By.XPATH, '//button[@class="list_filter_btn"]')[0].click()
time.sleep(2)
# 거래방식 (default : 매매) > 전체로 변경.
items = browser.find_element(By.XPATH, '//label[@for="complex_article_trad_type_filter_0"]').click()
time.sleep(1)
# 닫기 선택
items = browser.find_element(By.XPATH, '//button[@class="btn_close_panel"]').click()
time.sleep(2)

soup = BeautifulSoup(browser.page_source, "lxml")
# 검색결과 화면을 quiz.html 로 저장함.
with open("quiz.html", "w", encoding="utf8") as f:
    f.write(soup.prettify())

# 매물 전체 가져옴.
items = soup.find_all("div",attrs= {"class":"item_inner"})

for n,item in enumerate(items,1):
    # 동수 가져오가
    dong = item.find("span", attrs = {"class":"text"}).get_text().replace("헬리오시티","").strip()
    # 매매타입 / 가격 가져오기
    temp = item.find("div", attrs = {"class":"price_line"}).find_all("span")
    trace_type = temp[0].get_text()
    price = temp[1].get_text()
    # 면적 / 층수 가져오기
    temp = item.find("div", attrs = {"class":"info_area"}).find_all("p")[0].span.get_text()
    size = temp[temp.find("/")+1:temp.find("²")+1]
    floors = temp[temp.find("/",temp.find("²"))+1:temp.find("층")+1]

    print("========== 매물 {} ==========".format(n))
    print("거래 : {}".format(trace_type))
    print("면적 : {}".format(size))
    print("가격 : {}".format(price))
    print("동 : {}".format(dong))
    print("층 : {}".format(floors))

selenum을 이용하여 검색 > 필터 지정 후 bs4를 사용하여 크롤링.

'python > python_selenium' 카테고리의 다른 글

python + selenium, bs4 환경 세팅하기  (1) 2023.11.22
selenium_quiz2  (0) 2023.05.01
Headless 크롬  (0) 2023.04.29
Selenium 활용2  (0) 2023.04.29
Selenium 활용1  (0) 2023.04.26
'python/python_selenium' 카테고리의 다른 글
  • python + selenium, bs4 환경 세팅하기
  • selenium_quiz2
  • Headless 크롬
  • Selenium 활용2
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (164) N
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (30)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
      • 에러일기 (1)
      • AWS (26) N
      • Jmeter (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    공존성테스트
    linux
    postman
    로스트아크api
    리눅스
    .cpu
    LOSTARK
    python
    네트워크 테스트
    QAKOREA
    application log
    스터디
    테스트 계획서
    qa
    쿠버네티스
    API
    vi에디터
    도커
    앱공존성
    개발자에서아키텍트로
    로스트아크
    포스트맨
    cka
    테스트 계획서 만들어보기
    테스트 결과보고서
    애플리케이션로그
    e2c
    사드웨어리소스
    k8s
    테스트스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
selenium_quiz1
상단으로

티스토리툴바