수업소개
현대의 소프트웨어는 혼자 만들지 않습니다. 다른 사람이 만든 소프트웨어를 부품으로 사용해서 무엇인가를 만들어가는 것이 보편적인 개발 방법입니다. 패키지 메니저를 사용하면 매우 간편하게 부품을 사용할 수 있습니다. 본 수업에서는 패키지 메니저를 다루는 방법을 살펴봅니다.
예제소개
본 수업에서는 패키지 메니저의 사용 사례로 크롤링(혹은 스크랩핑)이라는 것을 살펴봅니다. 웹페이지를 다운로드 받아서 분석하는 방법에 대한 내용입니다.
패키지
package. 완성된 소프트웨어나 다른 소프트웨어를 완성하기 위해서 필요한 부품이 되는 소프트웨어를 의미합니다.
패키지 메니저
package manager. 패키지를 설치하기 위해서는 다운로드, 설치, 빌드, 테스트, 업그레이드, 의존성 관리 등 복잡한 상황이 발생합니다. 이런 복잡성을 낮추고 쉽게 패키지를 이용할 수 있도록 돕는 소프트웨어가 패키지 메니저 입니다.
Python의 패키지 메니저
PyPI
Python Pakage Index. 파이썬의 패키지들을 정리해둔 사이트.
PIP
파이썬의 패키지 메니저.
Ruby의 패키지 메니저
RubyGems.org
루비의 패키지들을 정리해둔 사이트.
RubyGems
루비의 패키지 메니저.RubyGems.org에 등록된 패키지들을 쉽게 설치할 수 있도록 도와줍니다.
수업
패키지 메니저 소개
패키지 메니저 확인
Python의 패키지 메니저를 이용해서 크롤링하는 방법
소스코드
pip install requests
import requests from bs4 import BeautifulSoup r = requests.get('https://codingeverybody.github.io/scraping_sample/1.html') soup = BeautifulSoup(r.text, 'html.parser') print('Title : '+soup.title.string) articles = soup.findAll('div', {'class' : 'em'}) print('Article : '+articles[0].text) print("====================") r = requests.get('https://codingeverybody.github.io/scraping_sample/2.html') soup = BeautifulSoup(r.text, 'html.parser') print('Title : '+soup.title.string) articles = soup.findAll('div', {'class' : 'strong'}) print('Article : '+articles[0].text)
Ruby의 패키지 메니저를 이용해서 크롤링하는 방법
소스코드
gem install http; gem install nokogiri;
require "http" require 'nokogiri' html = HTTP.get('https://codingeverybody.github.io/scraping_sample/1.html').to_s page = Nokogiri::HTML(html) puts "Title : "+page.css('title')[0].text puts "Article : "+page.css('div.em')[0].text puts "====================" html = HTTP.get('https://codingeverybody.github.io/scraping_sample/2.html').to_s page = Nokogiri::HTML(html) puts "Title : "+page.css('title')[0].text puts "Article : "+page.css('div.strong')[0].text