맨들맨들 돌덩이
Home
  • 분류 전체보기 (439)
    • 프로젝트 (14)
    • NOTICE (2)
    • 개발 (206)
      • Unity (12)
      • JAVA (20)
      • SPRING (9)
      • DB (10)
      • FronT (14)
      • 알고리즘 (16)
      • 이코테 (25)
      • Python (60)
      • Arduino (4)
      • WEB (18)
      • C++ (17)
    • 게임 (33)
      • DNF (31)
      • LostArk (2)
    • KT_DS (93)
      • 보호관리용 (3)
    • 실습코드 (64)
      • 실습 코드 (63)
    • 독서 (2)
      • 생각넓히기 (2)
    • Setting (17)
    • 일상 (8)
ALL
  • 분류 전체보기 (439)
    • 프로젝트 (14)
    • NOTICE (2)
    • 개발 (206)
      • Unity (12)
      • JAVA (20)
      • SPRING (9)
      • DB (10)
      • FronT (14)
      • 알고리즘 (16)
      • 이코테 (25)
      • Python (60)
      • Arduino (4)
      • WEB (18)
      • C++ (17)
    • 게임 (33)
      • DNF (31)
      • LostArk (2)
    • KT_DS (93)
      • 보호관리용 (3)
    • 실습코드 (64)
      • 실습 코드 (63)
    • 독서 (2)
      • 생각넓히기 (2)
    • Setting (17)
    • 일상 (8)
블로그 내 검색

맨들맨들 돌덩이

티스토리 생일 : 2020.11.18. 모든 문의 : highcw@naver.com

  • 개발/Python

    Python_ 웹 스크래핑 문법, 정규 표현식

    2021. 11. 22.

    by. KAEY


    웹 스크래핑(web scrapping)

    HTML Parsing 웹 페이지의 HTML을 분석하여 필요한 URL을 추출하는 HTML 파싱 작업이 필요

    파싱은 특정 텍스트를 부석하여 그 데이터로부터 필요한 정보를 추출하는 과정

     

     

     

    정규 표현식(regular expression, regex)

    일종의 문자를 표현하는 공식, 특정 규칙이 있는 문자열 집합을 추출할 때 자주 사용하는 기법

     

     

     

    문법

    메타문자(meta-characters) : 문자를 설명하기 위한 문자.

    문자의 구성을 설명하기 위해 원래의 의미가 아니라 다른 의미로 쓰이는 문자

    . ^ $ * + ? { } [ ] \ | ( )

     

     

    기본 메타문자 [ ]

    [ 와 ] 사이의 문자와 매칭하여 해당하는 텍스트가 있는지 찾으라는 뜻.

    [abc] # before의 b를 검색

     

    - 를 사용하여 알파벳 전체나 한글 전체 텍스트를 찾을 수 있다.

    [A-Za-z] [가-힝] [0-9]

     

    반복 관련 메타문자  -, +, *, ?, { }

    [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] # 휴대전화번호 표현

     

    + : 해당 글자가 1개 이상 나타나는 것을 뜻함

    [0-9]+-[0-9]+-[0-9]+-

     

    {m,n} : 출현 횟수를 지정. m은 시작, n은 끝. {1,}처럼 끝 값은 지정하지 않고 오픈 가능. 1번 이상은 출연해야 함.

    [0-9]{3}-[0-9]{3,4}-[0-9]{4}

     

    ? : 반드시 한 번 만 반복

    01[01689]?-[0-9]{3,4}-[0-9]{4}

     

    반복 관련 메타문자 -, +, *, ?, { }

    * : 0번부터 무한대까지 반복 가능.

    + 는 {1,} 와 같고, * 는 {0,} 을 뜻함.

    tomor*ow는 아래 모두를 포함한다. 0이 없어도 무방하다는 의미를 가지고 있기 때문.

    tomorrow
    tomoow
    tomorrrrow

     

     

    그 외 메타문자 ( ), ., |, ^, $, \

    ( ) : 메타문자의 묶음을 표시.

    사용하지 않아도 되지만, 묶음으로 데이터를 받아 처리할 때 영역 설정 가능.

    . : [.]는 일반적인 마침표를 뜻하고, (.) 는 줄 바꿈 기호를 제외한 전체 문자.

     | 와 ^ : or나 not을 의미.

    (0|1){3}
    [0-9]{2}[^:][0-9]

    ^와 $ : 정규 표현식이 처음과 끝을 표현하는 메타문자.

     

     


    저작자표시 비영리 동일조건 (새창열림)

    '개발 > Python' 카테고리의 다른 글

    Python_ 웹 크롤링 정의, 웹 스크래핑과 비교 장단점  (0) 2021.11.22
    Python_ 웹 스크래핑 & 웹 크롤링 정의  (0) 2021.11.22
    Python_ 웹 스크래핑, 주식 정보 읽어와보기  (0) 2021.11.18
    Numpy_ 개념 및 정의, 배열 생성, 기본 작업, 유니버셜 함수  (0) 2021.11.18
    Python_ 쥬피터 노트북 사용법 단축키, Jupyter notebook  (0) 2021.11.18

    댓글 (비로그인 댓글 허용하지 않습니다.)

    관련글

    • Python_ 웹 크롤링 정의, 웹 스크래핑과 비교 장단점 2021.11.22
    • Python_ 웹 스크래핑 & 웹 크롤링 정의 2021.11.22
    • Python_ 웹 스크래핑, 주식 정보 읽어와보기 2021.11.18
    • Numpy_ 개념 및 정의, 배열 생성, 기본 작업, 유니버셜 함수 2021.11.18
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
KAEY
#모바일 접속 차단. (PC 환경 자동 리다이렉트) #현재 블로그내 모든 광고는 티스토리(카카오)에서 게시한 광고입니다😢. #문의 이메일 : highcw@naver.com

티스토리툴바