Skip to content

4L 회고 / 2023-08-18 #33

@Felicette1963

Description

@Felicette1963

좋았던 것(Liked)

  • 없음

배운 것(Learned)

  1. 크롤링
  • selenium 데이터 정보 수집 방법
  1. webdriver 웹 브라우저 선택
    ※ driver = webdriver.Chrome() 크롬에서 시작
    ※ driver.get("홈페이지 주소")

  2. 웹브라우저의 기능 살펴보기 F12
    (1) 요소 선택
    (2) 클릭상자 선택
    (3) 해당 기능을 선택하여 구조를 살펴 보기
    ex) 버튼 / 텍스트 내용

  3. find_element 위에서 살펴본 기능에 접근하기
    find_element("[접근자]", "[클래스 네임]")
    By.ID | 태그의 id값으로 추출
    By.NAME | 태그의 name값으로 추출
    By.XPATH | 태그의 경로로 추출
    By.LINK_TEXT | 링크 텍스트값으로 추출
    By.PARTIAL_LINK_TEXT | 링크 텍스트의 자식 텍스트 값을 추출
    By.TAG_NAME | 태그 이름으로 추출
    By.CLASS_NAME | 태그의 클래스명으로 추출
    By.CSS_SELECTOR | css선택자로 추출

driver.find_element(By.CSS_SELECTOR, "#gnb_menu > ul:nth-child(1) > li.nth2 > a > span.menu_bg.menu02").click()

  1. driver.page_source
    현재 페이지 태그를 포함한 데이터 수집

  2. BeautifulSoup HTML parser 기능을 포함하는 패키지

  • bs.find_all("HTML태그", "[class_ = 클래스 이름] or [id = 아이디 이름]")
    태그 정보와 이름만 남기고 수집하는 기능
  1. re 정규표현식
    p = re.eompile("정규식")
    p.findall(str(x)) for x in ismi.findall("태그정보")
    태그 정보 안의 정규식이 일치하는 정보만 남긴다.

  2. 기타 주의 사항

  • 셀레니움은 현재 제어 하고 있는 브라우저를 기준점을 삼기 때문에
  • 제어 하는 브라우저 창을 유지 한 채 작업을 이어나가야 한다.
  1. 스프링
  • Get 방식 / Post 방식 / Put 방식 코딩
  • MemberDTO 설계 및 동작 방식 제어

부족했던 것(Lacked)

  • 환경 설정 문제 해결

바라는 것(Longed for)

  • 없음

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions