본문 바로가기

2023_국민대/텍스트 데이터 분석8

[텍데분] Web Scraping 3 정적 웹페이지 vs 동적 웹페이지 정적 웹페이지 서버에 미리 저장된 파일(HTML, Javascript 등)이 그대로 전달되는 웹페이지 Client가 요청하면 이 페이지를 그대로 전송(응답) 누가, 언제 접속해도 동일한 내용 보여줌 (서버에 저장된 데이터가 변경되지 않는다는 가정하에) ⇒ 동일한 페이지 보여줌 동적 웹페이지 서버에 있는 데이터를 스크립트에 의해 가공하여 전달하는 웹페이지 Client의 요청을 해석하여 데이터를 가공하여 전송(응답) 누가, 언제 접속하는가에 따라 다른 내용 보여줌 ⇒ 보여지는 화면이 계속 바뀜 Selenium 활용 동적 웹 페이지는 정적 웹 페이지를 scrap하는 방식으로는 불가능 → 동적 웹 페이지를 정적 웹 페이지를 scrap하는 방식으로 하면 내용들이 많이 누락됨 페이.. 2023. 4. 16.
[텍데분] Web Scraping 2 정적 웹페이지(Static Web Page) 스크래핑 HTML문서에서 원하는 정보 추출하기 BeautifulSoup python에서 scraping 하는데 필요한 함수를 모아놓은 라이브러리 html_str = """ First div Second div """ 위의 stml_str에 저장되어있는 값은 단순 문자열 이를 parsing하기 위해서 이 문자열이 HTML문서라는 것을 알게해줘야 함 파싱(parsing): 텍스트의 구성 성분을 분해한다는 의미 ex) You need Python → You/need/Python HTML을 BeautifulSoup으로 scraping하기 # first table column 1 column 2 first row 1 first row 2 second row 1 seco.. 2023. 4. 16.
[텍데분] Web Scraping 1 Web Scraping 단일 웹페이지에서 원하는 정보를 추출하는 행위 Web Crawling URL을 탐색해 반복적으로 링크를 찾고 가져오는 과정. 특정 웹페이지를 목표로 하지 않음 Web Scraping 사용자가 정한 특정 웹페이지에서 데이터를 추출 F12를 보면 홈페이지의 소스코드를 볼 수 있음 이 소스코드를 활용해서 필요한 정보 추출 가능 Web Scraping Process ①, ② : 웹페이지 열기 ③ : 정보 위치 찾기 ④ : 필요 정보 저장 웹페이지 열기 요청(Request): 클라이언트(or 사용자)가 서버에게 리소스나 서비스 요청 응답(Response): 요청한 사항에 대해 서버가 클라이언트에게 리소스나 서비스 제공 Client 서버에 제공하는 서비스를 받는 입장 데스크탑과 같은 장비 C.. 2023. 4. 15.
[텍데분] Regular Expression 3 Python으로 Regular Expression 사용하기 정규표현식 사용위한 모듈 import import re 패턴 생성하기 re.compile() # 패턴 [a-Z] 생성 p = re.compile('[a-Z]') print(type(p)) # print(p.__class__.__name__) # Pattern # 패턴은 Pattern이라는 클래스의 객체 Pattern 객체의 메소드 match() : 문자열의 처음부터 패턴과 매칭되는지 확인 match()로 생성되는 결과물은 Match라는 클래스의 객체 → 메소드 사용 가능 Match클래스 메소드: group(), start(), end(), span() ... search() : 문자열 전체를 탐색하여 정규식과 매칭되는지 확인 findall() :.. 2023. 4. 12.
[텍데분] Regular Expression 2 Regular Expression 사용하기 실습 환경| RegExr: Learn, Build, & Test RegEx 패턴을 입력하면, 입력한 텍스트에서 패턴과 일치하는 텍스트를 찾아줌 문자클래스 [ ] 대괄호 [ ] 안에 있는 문자들과 매치하라는 의미 [abcde]: 문자열에서 a,b,c,d,e와 매칭이 되는 부분 탐색 [12345]: 문자열에서 1,2,3,4,5와 매칭이 되는 부분 탐색 하이픈 - 을 사용해서 범위 지정도 가능 [a-e]: 문자열에서 a,b,c,d,e와 매칭이 되는 부분 탐색 [1-5]: 문자열에서 1,2,3,4,5와 매칭이 되는 부분 탐색 → [abcde]와 [a-e] / [12345]와 [1-5]는 동일한 의미인 것 대괄호 내에 여러 개의 패턴 사용 가능 [dn]a → da, na.. 2023. 4. 12.
[텍데분] Regular Expression 1 Regular Expression 정규표현식 특정한 문자의 패턴을 정의하는 방식 특정한 규칙을 가진 문자열 탐색 ex. 이메일 주소만 추출, 전화번호만 추출, ip주소만 추출 정규표현식 활용 방법 데이터 수집하기 특정한 패턴을 갖는 데이터만 수집 데이터 전처리하기 특정 패턴을 갖고 있는 데이터 제거 정규표현식 활용 예시 파이썬에서 정규표현식을 사용하기 위해서는 re라는 모듈 불러와서 사용 # 휴대폰 번호 가운데 자리를 *로 변경 data = \ """kim 010-1234-5678 park 010-8765-4321""" # 정규표현식 미사용 result = [] for line in data.split('\n'): tmp_result = [] for word in line.split(' '): if le.. 2023. 4. 12.