Python 62

파이썬(Python) - 크롤링 연습 ② 국민 청원 청원 목록 수집(추천순)

# 국민 청원 접속 및 청원 목록 url 수집 url = [] for i in range(1,21): html = urlopen("https://www1.president.go.kr/petitions/best?page={}".format(i)) soup = BeautifulSoup(html,'html.parser') for j in soup.findAll('div',{'class':'bl_body'}): for k in j.findAll('div',{'class':'bl_subject'}): a = k.find('a')['href'] if bool(re.match('/[a-z].*/[0-9].*\?navigation=best',a)): url.append(a) # 청원 제목 수집 title = [] fo..

파이썬(Python) - 한글 형태소 분석

KoNLPyhttps://konlpy-ko.readthedocs.io/ko/v0.4.3/KoNLPy: 파이썬 한국어 NLP — KoNLPy 0.4.3 documentationKoNLPy: 파이썬 한국어 NLP KoNLPy(“코엔엘파이”라고 읽습니다)는 한국어 정보처리를 위한 파이썬 패키지입니다. 설치법은 이 곳을 참고해주세요. NLP를 처음 시작하시는 분들은 시작하기 에서 가볍게 기본 지식을 습득할 수 있으며, KoNLPy의 사용법 가이드는 사용하기, 각 모듈의 상세사항은 API 문서에서 보실 수 있습니다. >>> from konlpy.tag import Kkma >>> from konlpy.utils import pprinkonlpy-ko.readthedocs.ioKoNLPy는 한국어 정보처리를 위한 ..

파이썬(Python) - 크롤링 연습 ① 사람인 빅데이터 채용 조건 수집

1. 채용 조건 wordcloud로 만들기 browser = webdriver.Chrome('C:/chromedriver.exe') browser.get("http://www.saramin.co.kr/zf_user/search/recruit?search_area=main&search_done=y&search_optional_item=n&searchType=search&searchword=%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0&recruitPage=1") time.sleep(3) soup = BeautifulSoup(browser.page_source,'html.parser') job = [] for i in soup.findAll('div',class_='item_recruit..

파이썬(Python) - 스크래핑 ③ JSON을 이용한 크롤링

JSON(Java Object Notation) 텍스트 데이터를 기반으로 한다. 자바 스크립트에서 사용하는 객체 표기 방법을 기반으로 한다. 자바스크립트 전용 데이터 형식은 아니고 다양한 소프트웨어와 프로그래밍 언어끼리 데이터 교환할때 샤용을 많이 한다. # 파이썬에서는 json 라이브러리를 기본으로 제공한다. import json import urllib.request as req # url 오픈하고 json 형식으로 불러오기 url = "http://www.krei.re.kr:18181/chart/main_chart/index/kind/W/sdate/2020-01-01/edate/2020-03-31" res = req.urlopen(url) json_obj = json.load(res) json_ob..

파이썬(Python) - 예외사항 처리

예외사항 프로그램 실행중에 발생하는 오류 예외(오류) 종류 Synax Error : 문법오류 print("안녕하세요) Name Error : 참조 변수가 없을때 발생 print(x) Index Error : 인덱스 범위를 잘못지정 했을 때 발생 lst = [1,2,3] lst[3] Key Error : dictionary 형에서 없는 key를 사용할 때 발생하는 오류 dict = {'이름':'홍길동'} dict['이름'] dict['주소'] # 키 미리 확인 dict.get("아이디") dict.get("비번") # 키가 없으면 None / 아무일도 안일어남 Attribute Error : 모듈, 클래스에 잘못된 속성을 참조할때 오류 import datetime datetime.datetime.now()..

파이썬(Python) - 스크래핑 ② 웹 스크래핑/크롤링 연습, wordcloud사용

기본 용어 http(hyper text transfer protocol) hyper text는 마우스로 클릭하면 다른페이지로 이동하는 기능 http는 다음에 나올 html로 작성되어 있는 hyper text를 전송하기 위한 프로토콜(규약, 약속) URL(Uniform Resource Locator) 인터넷 주소 HTML(Hyper Text Markup Language) 웹페이지를 작성하는 문법 언어 F12(개발자 도구)눌러서 볼수 있다. 웹 브라우저(web browser) html을 보기 좋게 출력하는 응용 소프트웨어 웹 스크래핑 연습 BeautifulSoup 데이터를 추출하는데 필요한 기능이 들어 있는 라이브러리, 파싱(parsing)라이브러리 라고도 한다. 파싱은 받아온 데이터에서 필요한 내용만 추출..

파이썬(Python) - 스크래핑 ① 스크래핑 기초

스크래핑(scraping) 컴퓨터 프로그램이 다른 프로그램으로부터 들어오는 인간이 읽을 수 있는 출력으로부터 데이터를 추출하는 기법이다. BeautifulSoup 데이터를 추출하는데 필요한 기능이 들어 있는 라이브러리, 파싱(parsing)라이브러리 라고도 한다. 파싱은 받아온 데이터에서 필요한 내용만 추출하는 것을 의미한다. from bs4 import BeautifulSoup 예제 1) html = """ 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 """ # BeautifulSoup 객체 생성 soup = BeautifulSoup(html, "html.parser") soup # BeautifulSoup 객체의 html -> body -> h1 태그 출력 h1 = soup.html..

파이썬(Python) - 정규표현식과 메타문자

1. 정규표현식(Regular Expression) 문자의 패턴을 찾을때 많이 사용 문자열에서 특정한 패턴과 일치하는 문자열을 검색하거나 치환, 제거하는 기능을 제공한다. 2. 메타문자 a.b .위치에 모든 문자 a[.] .를 문자로 인식해서 찾을때 a*b *앞 문자를 0번, 1번, 몇번 이상 a+b +앞 문자를 최소 1번 이상 반복 a{2}b {n}앞 문자를 n번 반복 a{2,3}b {n,m}앞 문자를 n번 또는 m번 반복 ab?c ?앞 문자를 0번, 1번 반복 a|b a 또는 b [a-zA-Z] 알파벳 모두 찾기 [0-9] 숫자 모두 찾기 \d 숫자 모두 찾기 \D 숫자가 아닌것과 매치 (= [^0-9]) \s 공백 문자 모두 찾기 \S 공백문자가 아닌것과 매치 \w 문자, 숫자 (= [a-zA-Z0..

파이썬(Python) - matplotlib ③ 상자 그림 / 줄기잎 그림

1. 상자그림 (box plot) 5가지의 요약 수치 값으로 표현된다. 최소값(0), 제1사분위수(25), 중위수(50), 제3사분위수(75), 최대값(100) 사분위값 : np.percentile(객체,[0,25,50,75,100]) 1) 중앙값 : 관측값을 크기순으로 정렬한 후 가운데 위치하는 값 관측값이 홀수일때 중앙값 # 차례로 정렬 했을때 중간번째 있는 값 weight = Series([35,40,45,50,55,60,65]) statistics.median(weight) # 내부에서 이런 식이 돌아가고 있다. weight = Series([35,40,45,50,55,60,65]) weight = weight.sort_values() weight = weight.reset_index(drop=T..

파이썬(Python) - matplotlib ② histogram

histogram 자료가 모여 있는 위치나 자료의 분포에 관한 대략적인 정보를 한눈에 파악할 수 있는 장점은 있으나 구체적인 수치정보를 쉽게 알아볼수없는 단점이 있다. 예) ages=[21,24,26,27,29,31,37,39,40,42,45,50,51,59,60,68] 1. List 형식 # 키에 관한 데이터 (이산형 데이터) height = [157,163,180,162,186,178,173,152,156,184,170,171,172] type(height) 1) 도수분포표로 만들기 # 분할 구간 만들기 (150~160, 160~170, 170~180, 180~190) bins = [150,160,170,180,190] # pd.cut(객체, 구간, 구간 기준) # 구간 기준 기본값은 True blo..

반응형