본문 바로가기
공부쟁이/Fluent Python

Fluent Python 을 적용하기 위한 "파이썬 웹 크롤링" 플젝 시작.

by 헤옹스 2019. 6. 29.

https://www.inflearn.com/course/%EC%9B%B9-%ED%81%AC%EB%A1%A4%EB%A7%81web-crawling-%EC%96%B4%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EB%A7%8C%EB%93%A4%EA%B8%B0/dashboard

 

파이썬을 이용한 웹 크롤링(Web Crawling) 어플리케이션 만들기 - 인프런

dJango 으로 웹앱 환경을 구축하고, 웹크롤링 프레임워크인 scrapy 를 이용하여 웹 크롤링 앱을 만들어 봅니다. 초급 웹 개발 프로그래밍 언어 웹 크롤링 파이썬 온라인 강의

www.inflearn.com

$sudo apt-get install

$sudo apt-get install build-essential // 개발하는 데 필요한 가장 기본적인 package.

$sudo apt-get install python-pip // pip 설치

$sudo pip install virtualenv virtualenvwrapper // python 가상환경 설치. 파이썬 개발환경을 캡슐화.//

$vi .bashrc // 설정. bashrc : profile을 설정하는 리눅스에 있는 파일.

=> 홈디렉토리 설정하기

fi
export WORKON_HOME=$HOME/.virtualenvs
// 가상환경을 저장할 디렉토리를 생성하고, 환경변수에 등록.
source /usr/local/bin/virualenvwrapper.sh
// wrapper 명령어를 쓰기 위해 각종 path를 설정해줌.

$source .bashrc // virtualwrapper가 한번 실행됨.

$mkvirtualenv [가상환경이름] // 기본 생성

$workon [가상환경이름] // 특정 가상환경 선택.

https://docs.python.org/ko/3/tutorial/venv.html

pip, python 명령어를 통해 설치하는 package는 가상환경 안에 저장되고,

sudo, apt-get 명령어를 통해 설치하는 package는 ubuntu 환경 내에 설치하게 됨.

beautifulSoup 설치

$sudo apt-get install libxml2-dev libxslt-dev python-dev zliblg-dev // lxml parser 설치

$pip intall lxml

$pip install beautifulsoup4

=> requirement.txt 이용해서 필요한 패키지 설치.

Scrapy 설치

$sudo apt-get install libffi-dev libssl-dev

$pip install Scrapy

BeautifulSoup VS. Scrapy

  1. BeautifulSoup

    https://www.crummy.com/software/BeautifulSoup/bs4/doc/#

    • parser의 성격이 강함.

    • html 문서에서 원하는 정보를 손쉽게 가져올 수 있도록 네비게이션 하는 역할.

    • 자동으로 인코딩을 유니코드로 변환해서 UTF-8로 출력.(euc-kr, cpc9 등 비표준 인코딩을 쓰는 게 아니라...)

    • lxml, html5lib 파서를 이용함.

  2. Scapty

    • web scraper framework : 웹에서 스크랩해오는 프레임워크.

      • 기능이 다양하고 많음.

    • 다양한 selector 지원.

    • 파이프라인 : data를 가져와서 후처리(ex. filtering 등...)하는 기능 구현 가능.

    • 로깅 : 데이터가 잘 들어오 있고, 처리되고 있는지 로깅 처리 가능.

    • 이메일 : 어떤 데이터가 들어왔을 때 이메일 보내주는 기능도 쓸수잇음.