www.weather.go.kr/weather/forecast/mid-term-rss3.jsp 위의 주소에서 title, wf태그 내의 내용을 추출해보겠습니다. 실행 결과 코드 import urllib.request import urllib.parse as parse from bs4 import BeautifulSoup 이번엔 더미데이터가아니고 실제 웹사이트에 있는 태그를 추출할것이기 때문에 urllib까지 import를 해줍니다. rssUrl ="https://www.weather.go.kr/weather/forecast/mid-term-rss3.jsp" url 지정 html = urllib.request.urlopen(rssUrl).read() text=html.decode("utf-8") soup ..
find_all 원하는 태그를 전부 가져올 수 있습니다. 실행 화면 코드 from bs4 import BeautifulSoup BeautifulSoup를 import html=""" 네이버 다음 """ 더미데이터 삽입 soup = BeautifulSoup(html, 'html.parser') 태그내용 soup에 저장 links = soup.find_all("a") 모든태그 links에 저장 for a in links: href = a.attrs['href'] text = a.string print(text,">",href) attrs를 사용해 href속성값 href에 저장 string을 사용해 href의 값 저장 (네이버, 다음) 출력
find() 함수 각각 태그의 id데이터를 추출할 수 있습니다. 실행화면 코드 from bs4 import BeautifulSoup beautifulSoup import html=""" BeautifulSoup 사용 방법 스크레이핑 연습하기 원하는 데이터 추출하기 """ 더미데이터 삽입 soup = BeautifulSoup(html,'html.parser') html.parser를 이용해 태그를 soup에 저장 title = soup.find(id="title") subTitle = soup.find(id="subTitle") p = soup.find(id="subTitle").next_sibling.next_sibling print("title: "+ title.string) print("subTitl..
BeautifulSoup 특징 데이터를 분석 다운로드 불가 BeautifulSoup 설치 관리자 모드로 콘솔창 실행후 >pip3 install beautifulsoup4 라고 입력하고 Successfully 라고 뜨면 설치 완료 beautifulsoup 주요 함수 find() : 하나의 요소의 값을 읽어옴, html id 속성값을 가지고 올수있음 find_all() : 전체 데이터를 읽어옴 beautifulsoup 사용 예 코드 from bs4 import BeautifulSoup BeautifulSoup 라이브러리 import html = """ 스크레이핑 실습 웹페이지를 분석해보기 데이터 정제하기 .. """ html변수에 더미값 삽입 soup = BeautifulSoup(html, 'html.par..
빅데이터의 대표적인 기술 스크레이핑 웹사이트에있는 특정 정보를 추출하는 기술 크롤링 프로그램이 웹 사이트를 정기적으로 돌며 정보를 추출하는 기술 urllib : Http,Ftp 프로토콜을 통해서 다운받고 사용할수 있게 도와주는 라이브러리 request모듈: 웹사이트에 있는 데이터에 접근하게 해주는 모듈 urlretrieve함수: 웹상에 자료를 다운로드 할수 있게 도와주는 함수 위의 라이브러리를 사용해서 웹상에 존재하는 이미지로고를 다운받아 보겠습니다. 1. 웹브라우져 ( chrome )에서 f12를 누르면 켜지는 개발자도구 열기 2. 왼쪽 위 마우스버튼을 누르면 현재 마우스가 위치하고 있는 곳이 코드의 어느부분인지 확인할수 있습니다. Daum페이지 로고에 마우스 올려놓고 img경로를 확인하고 복사합니다...
아나콘다 설치를 위해 아래 주소로 들어가서 다운을 받습니다. www.anaconda.com/products/individual#download-section Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 1. Download 클릭 2. 본인 PC버전에 맞게 다운 3. 설치파일 실행 후 경로만 변경하고 기본값으로 설치
지금까지는 def로 함수를 정의해서 사용했습니다. 람다 표현식도 함수와 같은 기능을 하지만 1회성으로 사용이 되고 사용을 한다면 코드의 양을 눈에 띄게 줄일 수 있다는 장점이 있습니다. 기본 사용법 : lambda 매개변수들 : 식 우선 같은 기능을하는 함수와 람다식의 표현이 어떻게 다른지 확인해보겠습니다. #람다 표현식 일반 함수 #일반 함수 def plus(x): return x + 5 plus(1) #출력 6 람다 표현식 plus = lambda x: x + 5 plus(1) #출력 6 lambda x: x + 5는 매개변수 x 하나를 받고, x에 5를 더해서 반환합니다. 매개변수,연산자,값을 조합해 반환값을 만들어 줍니다. #람다 표현식 자체에서 호출하기 print((lambda x: x + 5)..
#언패킹 리스트로 여러가지 값을 한번에 넘기기 x = [10,20,30] print(*x) #출력 10 20 30 10,20,30의 값을 넣는 x라는 리스트 생성하고 (*)을 사용해서 리스트에 있는 전부를 출력 리스트나 튜플 앞에 *를 붙히면 언패킹이 되어서 print(10,20,30) 과 같은 동작을 합니다. ( 리스트의 포장을 푼다는 의미 ) #가변 인수 함수 def testmethod(*args): for arg in args: print(arg) testmethod(10,20,30,40) #출력 10 20 30 40 언패킹은 인수의 갯수가 정해지지 않은 가변 인수에 사용할 수 있습니다. #키워드 인수 def personal_info(name,age,address): print('이름: ',name..
#함수를 이용해 사칙연산하기 def calc(a,b): return a + b,a - b, a * b, a / b x,y = map(int,input().split()) a,b,c,d = calc(x,y) print('더하기: {0}, 빼기: {1}, 곱하기: {2}, 나누기: {3}'.format(a, b, c, d)) #입력 5 3 #출력 더하기: 8, 빼기: 2, 곱하기: 15, 나누기: 1.6666666666666667 x,y에 5,3일 입력해주고 calc 메소드를 호출합니다. calc 메소드에 a,b 매개변수로 5, 3의 값을 받고 총 4개의 결과를 튜플타입으로 return을 해줍니다. 그 값을 a,b,c,d에 차례로 담아주고 출력을 해줍니다.
파이썬에서의 함수의 사용은 자바와 다르게 리턴타입을 명시하지 않아도 됩니다. 단 함수라고 정의만 해주면 됩니다. 정의 하는 방법과 호출하는 방법을 예시로 보겠습니다. #함수호출 def hello(): print('hello') hello() #출력 hello #매개변수받아서 리턴 def hello(a,b): print('hello') return a+b c = hello(10,20) print(c) #출력 hello 30 #두가지의 값을 튜플형태로 리턴 def hello(a,b): print('hello') return a+b,a-b #하나의 튜플로 리턴 c,d = hello(10,20) print(c,d) #출력 hello 30 -10 두가지이상의 값을 리턴할때는 '하나의' 튜플로 리턴을 합니다.
---기능--- 1. 입력 2. 검색 3. 수정 4. 삭제 5. 출력(전체) 6. 종료 #맨처음 student = dict() while True: select = int(input("1.입력 2.검색 3.수정 4.삭제 5.출력 6.종료 \n")) student라는 딕셔너리를 생성해주고 사용자가 프로그램을 종료시킬때까지 반복시키기위해 while True: 로 무한루프를 주었습니다. 그리고 기능 선택하기 위한 변수로 select를 생성 해주었습니다. 사용자가 누르는 숫자에 따라 기능을 사용할 수 있습니다. #성적 입력 # ----- 성적 입력 ----- if select == 1: id=input('학번 : ') if ( id not in student) == True: name = input('이름 : ..