목록크롤링 (5)
내 잡다한 노트
openpyxl 라이브러리를 활용한다. import openpyxl excel_file = openpyxl.Workbook() #엑셀 파일을 생성하는 코드. excel_sheet = excel_file.active # 엑셀 파일이 생성되면 디폴트 쉬트가 생성되며, 엑셀파일변수.active로 해당 쉬트를 선택할 수 있다. 해당 쉬트 이름을 변경하려면 title 변수값을 변경해주면 된다. excel_sheet.append(['data1', 'data2', 'data3']) # append로 하나의 행 데이터를 추가 excel_file.save('test.xlsx') # 엑셀 파일 저장 excel_file.close() # 엑셀 파일 닫기 (안닫으면 CPU 자리를 잡아먹음) # 엑셀 파일 읽기 excel_fi..
# 정규표현식 일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어이다. # 역할 정규 표현식은 문자열을 대상으로 패턴 매칭 기능을 제공한다. 패턴 매칭 기능이란 특정 패턴과 일치하는 문자열을 검색, 추출, 치환할 수 있는 기능을 말한다. 즉, 반복문과 조건문 없이 패턴을 가진 문자열을 간단하게 검색, 추출, 치환할 수 있다. 즉, 문자열 검색, 추출, 대체 의 역할을 수행한다. # 파이썬에서의 사용 1. 정규표현식 모듈 불러오기 import re re를 임포트해준다. 2. 정규표현식 패턴 생성하기 pattern = re.compile('패턴') 3. 패턴으로 문자열을 검색 3-1. 문자열의 처음부터 일치하는지 확인 pattern.match('문자열') 3-2. 문자열의 전체의 일부 일치..
데이터 크기 : XML > JSON > CSV # XML (eXtensible Markup Language) 장점 : XML은 3가지 포맷중 가장 직관적. 단점 : 실제 전송하는 정보보다 메타 데이터의 크기가 더 커질 수 있음 주요 사용처 : 단순 게임 옵션, 직접 데이터 수정이 잦은 부분에 사용 HTML과 유사한 구조를 가지고 있다. 다목적 마크업 언어로 태그 등을 이용하여 데이터의 구조를 기술하는 언어이다. HTML의 태그와 같이 꺽쇠()를 사용하고 트리 계층 구조를 사용한다. # JSON (JavaScript Object Notation) 장점 : 모양과 규칙 자체가 단순해서 타언어에서도 구현하기가 쉬움 단점 : 콤마가 누락되거나 중괄호가 잘못 닫히는 등 문법 오류에 취약하다. 주요 사용처 : 서버..
1. 문자열에 있는 특정 문자 갯수 세기 -> count 함수 data = Dave.David data.count('Dave') -> 1 2. 문자열에 있는 특정 문자의 위치 알려주기 -> index 함수 string = 'Dave ID is dave' string.index('D') -> 0 제일 첫번째와 같은 것을 찾아 인덱스 번호를 리턴한다 이 index 함수는 문자열에서 같은 것을 찾지 못한다면 오류를 발생시킨다. 해당 문자가 문자열에 없을 때, 에러를 안낼 수는 없을까? 그럴 댄 find 함수를 사용하자. 해당 문자가 문자열에 없으면 -1을 리턴한다. 3. 문자열 사이에 다른 문자 넣기 -> join 함수 string = '12345' comma = 'ㅌㅌㅌㅌ' comma.join(string)..
# find 함수를 사용 import requests from bs4 import BeautifulSoup res = requests.get('크롤링할 사이트 url') soup = BeautifulSoup(res.content, 'html.parser') section = soup.find('ul', id='dev_course_list') titles = section.find_all('li', 'course') for index, title in enumerate(titles): print(index+1, title.get_text().split('[')[0].split('-')[1].strip()) 예시 코드. requests 모듈은 사이트의 정보를 가져오는 것 find()의 인자로 html 태그들..