전체 글 79

[Python] 네이버 금융 ETF 수집, json 데이터 수집

1) 수집하고자 하는 데이터가 어떤 태그에 들어있는지 확인 -> table 태그라면 pd.read_html()로 불러올 수 있고 2) pd.read_html()로 수집이 안 된다면 requests로 요청을 보냄 -> requests 요청을 보내기 위한 주소를 Network 메뉴에서 찾는다. url => preview로 봤을 때 해당 데이터가 있는지 확인 etf 는 없는 상태 -> js나 xhr 확인 ETF란? ETF(상장지수펀드)는 기초지수의 성과를 추적하는 것이 목표인 인덱스펀드로, 거래소에 상장되어 있어서 개별주식과 마찬가지로 기존의 주식계좌를 통해 거래를 할 수 있습니다. 그 구성종목과 수량 등 자산구성내역(PDF)이 투명하게 공개되어 있고, 장중에는 실시간으로 순자산가치(NAV)가 제공되어 거래에..

AI SCHOOL/Python 2023.01.24

[Python] 다산콜센터 주요 민원 내용 수집(2)

다산콜센터 (1)이랑 다른점은 (2)는 작성자- 이런 것에 내용을 붙임 # 필요한 라이브러리들을 불러옵니다. # pandas : 파이썬에서 사용할 수 있는 엑셀과 유사한 데이터분석 도구입니다. # requests : 매우 작은 브라우저로 웹사이트의 내용과 정보를 불러옵니다. # BeautifulSoup : request로 가져온 웹사이트의 html 태그를 찾기 위해 사용합니다. # time : 한 번에 많은 양의 데이터를 가져오게 되면 서버에서 부담을주기 때문에 시간 간격을 두고 가져오기 위해 사용합니다. import time import pandas as pd import numpy as np import requests from bs4 import BeautifulSoup as bs # 수집해온 파일..

AI SCHOOL/Python 2023.01.24

[Python] 대통령연설기록 수집 - 2 (연설 내 가져오기)

import time import requests from bs4 import BeautifulSoup as bs import pandas as pd requests.packages.urllib3.disable_warnings(requests.packages.urllib3.exceptions.InsecureRequestWarning) 수집한 연설 목록 가져오기 df = pd.read_csv("대통령연설기록_강사님.csv") df.shape df.head() url 만들기 base_url = "https://www.pa.go.kr/research/contents/speech/index.jsp" sub_url = df.iloc[-2]["내용링크"] print(df.iloc[-2]["제목"]) print(ba..

AI SCHOOL/Python 2023.01.22

[SQL] HAVING, ORDER BY

WHERE은 모든 데이터에서 필터, 그렇게 된 집계 데이터에서 한 번 더 필터 걸고 싶을 때 HAVING HAVING - 그룹화된 데이터에 조건을 부여 - 그룹화된 데이터에 조건을 부여하므로 GROUP BY와 함께 사용 유저를 국가별로 그룹화하고 국가별 유저수가 4000 이상인 국가와 유저수를 조회 select country, count(id) as user_count from `thelook_ecommerce.users` group by country having count(id) >= 4000; ORDER BY - 출력 결과를 정렬 - 오름차순 : ASC(기본, 작은 수에서 큰 수로, ASCENDING) - 내림차순 : DESC(큰 수에서 작은 수로, DESCENDING) 아이디순으로 정렬하여 유저정..

AI SCHOOL/SQL 2023.01.20

[SQL] GROUP BY, 집계함수

COUNT count 함수는 해당 항목 레코드의 개수를 반환하는 함수 select count(id) from `thelook_ecommerce.users` select count(distinct city) from `thelook_ecommerce.users` 중복 제거해서 카운팅도 가능 SUM 해당 항목 레코드의 합계를 반환하는 함수 select sum(retail_price) from `thelook_ecommerce.products` AVG 해당 항목 레코드의 평균 반환하는 함수 select avg(cost) from `thelook_ecommerce.products`; MAX 해당 항목 레코드의 최대값을 반환하는 함수 select max(cost), max(retail_price) from `th..

AI SCHOOL/SQL 2023.01.20

[Python] 다산콜센터 주요 민원 목록 수집(1)

서울특별시 다산콜센터(☎120)의 주요 민원¶ 서울특별시 다산콜센터(☎120)의 주요 민원(자주 묻는 질문)에 대한 답변정보 https://opengov.seoul.go.kr/civilappeal/list In [2]: # pandas : 파이썬에서 사용할 수 있는 엑셀과 유사한 데이터분석 도구 # numpy : 파이썬에서 사용할 수 있는 공학용 계산기 # requests : 매우 작은 브라우저로 웹사이트의 내용과 정보를 불러옴 # BeautifulSoup : requests로 가져온 웹사이트의 html 태그를 찾기위해 사용 # time : 간격을 두고 가져오기 위해 사용 import time import pandas as pd import numpy as np import requests from bs..

AI SCHOOL/Python 2023.01.19

[WIL] 4주차

실습 정리 [SQL] SQL과 데이터베이스 / select, from / as, limit, distinct 데이터란? - 어떠한 정보 - 컴퓨터에 저장되어 처리될 수 있는 형태로 표현 - 컴퓨터 안에 기록된 문자, 숫자 데이터 베이스 데이터의 집합 -> 데이터베이스 DBMS - 데이터베이스 관리 시스템 - 데이 moruxz.tistory.com [SQL] WHERE / 비교연산자 / 논리연산 / BETWEEN / IN / LIKE / IS NULL WHERE - 데이터에 조건을 부여해서 원하는 데이터만 필터링 - 여러 연산자 결합 가능 - 결합 가능 연산자의 종류 : 비교연산자(=, , !=, >=, =20 and age= 50 프로그래머스 문제 3-1 (level 1) https://school.pr..

AI SCHOOL 2023.01.19

[Python] 대통령연설기록 수집 - 1

연설문 목록 스크래핑 수집하고자 하는 대상의 URL 을 알아봅니다. 사이트에 접속한다. => HTTP 요청을 보냅니다. requests 목록을 받아온다. (번호, 대통령, 형태, 유형, 제목, 연설일자) + BautifulSoup을 통해 내용의 링크도 함께 수집 3번을 반복해서 전체 데이터를 수집한다. 파일로 저장한다. 연설문 목록에 URL 추가 0105에서 저장한 대통령 연설문 목록을 가져옵니다. 내용링크를 통해 각 연설문의 내용 링크에 요청을 보냅니다. BeautifulSoup을 통해 내용을 찾아옵니다. 내용의 링크를 통해 내용을 찾는 함수를 만듭니다. 전체 게시물에 내용을 찾는 함수를 적용합니다. => 반복문을 사용하지 않고 Pandas 의 map, apply 등의 기능을 사용할 예정입니다. 수집이..

AI SCHOOL/Python 2023.01.17

[Python] 네이버 금융 뉴스기사 수집

목표 : pandas 의 read_html 을 통해서 테이블 형태의 표를 수집하는 방법을 알아봅니다. 1. 개별 종목에 대한 뉴스 기사를 수집합니다. 2. 한 페이지만 수집 3. 여러 페이지를 수집해서 하나로 병합합니다. 4파일형태로 저장합니다. import pandas as pd url_1 = 'https://finance.naver.com/item/news.naver?code=005930' temp_table = pd.read_html(url_1, encoding="cp949") temp_table[1] 우선 네이버 금융 뉴스 기사 url 을 불러온 뒤 pd.read_html을 통해 데이터 프레임으로 불러온다 pd.read_html로 확인할 수 있다는 것을 확인하고 제대로 스크랩핑을 한다 수집하려는 ..

AI SCHOOL/Python 2023.01.15

[SQL] WHERE / 비교연산자 / 논리연산 / BETWEEN / IN / LIKE / IS NULL

WHERE - 데이터에 조건을 부여해서 원하는 데이터만 필터링 - 여러 연산자 결합 가능 - 결합 가능 연산자의 종류 : 비교연산자(=, , !=, >=, =20 and age= 50 프로그래머스 문제 3-1 (level 1) https://school.programmers.co.kr/learn/courses/30/lessons/131528 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT COUNT(USER_ID) AS USERS from user_info where age IS NULL 프로그래머스 문제 3-2 (lev..

AI SCHOOL/SQL 2023.01.13