목록분류 전체보기 (413)
오답노트

selenium selenium은 브라우저의 자동화 목적으로 만들어진 다양한 브러우저를 제어할 수 있도록 하는 라이브러리 selenium 사용준비 라이브러리 설치 !pip install selenium 파이썬에서 해당 소스를 실행시켜 selenium을 설치하자. webdriver 설치 https://chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 104, please download ChromeDriver 104.0.5112.79 If you are using Chrome version 103, please downl..

정적 페이지 정적 페이지는 페이지에 변화가 있으면, URL에도 변화가 있는 페이지가 정적 페이지다. 정적 페이지 웹 크롤링 정적 페이지는 HTML에서 CSS Selector를 통해 웹 크롤링 할 수 있다. 무신사 상품 랭킹 목록을 크롤링 실습을 해보자. 1. bs 패키지를 먼저 설치한다. !pip install bs 2. https://www.musinsa.com/ranking/best?period=now&age=ALL 에 접속해서 개발자 도구(F12)를 열고, 최상위 Elements 탭을 연다. 3. Ctrl + Shift + C 또는 Elements 좌측에 마우스 커서 아이콘을 클릭하여 상품 이름을 클릭한다. 4. CSS Selector를 통해서 상품 브랜드, 상품명, 상품 가격에 대한 CSS Sel..

CSS Selector HTML태그 3.텍스트 ~ 6.테이블관련 까지만 읽어도 해당 포스트를 이해하는데 문제는 없다. 시작 태그에는 id, class, attr가 존재하거나 태그명만 있는 경우가 있다. 위 4개 항목을 통해 Element를 선택할 수 있다. 기존 css에서 엘리먼트를 선택하는 방법은 아래와 같다. - tag이름 : span - id : #id - class : .class - attr : [value="val"] HTML로 살펴보자 span p_id p_class p_val style 태그 내부에 사용한 것이 CSS Selector 이다. n번째 선택 위 css selector 뒤에 :nth-child(n) 이 붙는다. n은 n번째를 의미한다. 주의해야할 점은 css selector로 선..

동적 페이지 동적 페이지는 요즘 많이 쓰고있는 반응형 웹이 동적 페이지이다. 사용자가 버튼을 클릭하거나 상호작용, 이벤트가 발생해도 URL이 바뀌지 않고 바로 페이지 내에서 결과가 나타난다. 동적 페이지 웹 크롤링 웹 크롤링은 크게 동적 페이지에 대해서 또는 정적 페이지에 대해서 수행할 수 있다. 하지만 이 둘의 웹 크롤링 방법은 상당히 다르다. 동적페이지는 보통 json 형식으로 데이터를 크롤링할 수 있다. 리그 오브 레전드 전적 조회 사이트인 op.gg 에서 챔피언 목록을 웹 크롤링 실습을 통해 동적 페이지 웹 크롤링을 알아보자. 1. op.gg 챔피언 분석 탭 에 접속한다. 2. F12를 눌러 개발자 툴을 키고 가장 상위 탭 중에서 Network를 클릭한다. 그리고 바로 아래 탭에서 Fetch/XH..
requests 패키지 REST 방식을 사용할 수 있게 해주는 파이썬 패키지이다. 요약하면 URL로 정보를 요청해서 데이터를 받을 수 있다. get() HTTP 메소드 GET을 사용하는 함수다. GET의 특징은 URL에 파라미터가 들어간다는 점이다. URL로만으로 데이터를 가져오지 못하는 경우가 있는데, 이 때는 headers 속성에 referer 와 user-agent를 딕셔너리로 만들어 입력한다. import requests headers = { "referer": "https://www.op.gg/champions", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome..

map 범주형 값을 다른 값으로 변경할 수 있다. 시리즈에서 사용할 수 있는 메소드로 인자로는 딕셔너리를 받는다. 딕셔너리에는 {"현재 시리즈의 값" : "변경할 값"} 과 같이 입력한다. dataframe['Status'] = dataframe['Status'].map({1: "Bad", 2:"Nomal",3:"Good"}) cut 수치형 요소를 구간을 지정하여 분할할 수 있다. cut 함수는 인자로 시리즈를 받고, 해당 시리즈를 분할한 값으로 입력한다. labels 옵션은 리스트를 입력할 수 있고, 구간을 지정하여 분할했을 때, 분할한 값을 지정한다. bins 옵션은 구간을 리스트로 입력할 수 있다. labels에 입력한 리스트의 크기보다 1 더 커야한다. bins = [0,30,60,100] dat..

열 이름 변경 rename (일부 열 이름 변경) columns 옵션에 딕셔너리 형태로 {"현재 열 이름" : "새로운 열 이름"}을 입력하면 된다. 하지만 inplace 옵션이 True일 경우에 현재 데이터프레임에 적용된다. 기본값은 False이므로 현재 데이터프레임에 적용하려면 inplace 옵션을 True로 해야한다. df_rename.rename(columns = {"Serise1": "Col1", "Serise2": "Col2",}, inplace = True) columns (전체 열 이름 변경) 데이터프레임의 columns 변수에 리스트로 값을 넣으면 해당 값 순서대로 열 이름이 변경된다. 단, 리스트의 크기는 데이터프레임의 열의 개수와 일치해야한다. df_rename_all.columns ..

조건 확인 시리즈를 조회하는 문법에 바로 조건절을 사용하면 된다. 결과는 Boolean으로 출력된다. 부정 기호는 ~ 이다. 부정하고 싶은 조건문에는 괄호를 쳐야만한다. dataframe['Status'] > 2 ''''''' 0 False 1 False 2 True 3 False 4 True 5 False 6 False 7 False 8 False 9 True 10 False 11 False ''''''' ~ (dataframe['Status'] > 2) ''''''' 0 True 1 True 2 False 3 True 4 False 5 True 6 True 7 True 8 True 9 False 10 True 11 True ''''''' 여러 조건을 조회 할때는 &(and) 와 |(or) 기호를 사용..

열 조회하기 데이터프레임 변수에 ['컬럼명'] 을 통해 열을 조화할 수 있다. 다른 방법으로는 데이터프레임 변수에 .컬럼영 을 통해서도 조회할 수 있다. print(data_frame['Serise1']) print(data_frame.Serise1) ''''''' 0 12 1 56 2 89 3 57 4 25 5 56 6 85 7 69 8 34 9 69 10 47 11 60 Name: Serise1, dtype: int64 ''''''' 통계 메소드 sum 열의 합계 조회 data_frame['Serise1'].sum()# 659 max 열의 최대값 조회 data_frame['Serise1'].max()# 89 min 열의 최소값 조회 data_frame['Serise1'].min()# 12 mean 열..