개발바닥

우분투 스크레이핑 본문

웹 크롤링

우분투 스크레이핑

라이언 2018. 11. 2. 01:28
반응형

우분투 스크레이핑 하기 앞서 유닉스 명령어 기본적인 개념을 알아보겠습니다.

 

표준 스트림이란?

대부분의 명령어는 입력 데이터를 받고, 명령어를 동작하고, 출력 하는 3가지 단계로 동작합니다.

명령어가 입력을 받는 부분을 "표준 입력" , 결과를 출력하는 부분을 "표준 출력" , 오류 등의 부가적인 정보를 출력하는 정보를 "표준 오류 출력" 이라고 한다. 이 세가지를 모두 총칭해서 "표준 스트림"이라고 부른다.

 

 

기본적으로 표준 입력은 키보드에서의 입력, 표준 출려과 표준 오류 출력은 콘솔 화면으로 출력합니다. 
이를 팡리에서의 입력 또는 파일에서의 출력 등으로 변경할 수 있는데, 이렇게 변경하는 것을 리다이렉트라고 합니다.

 

표준 출력 리다이렉트

 

명령어 실행 결과을 파일에 저장하기
$명령어 > 경로

 


표준 입력 리다이렉트 

 

파일의 내용을 명령어의 표준 입력으로 지정하기

$ 명령어 < 경로

 

 

 

파이프를 사용하면 어떤 명령어의 표준 출력다른 명령어의 표준 입력으로 전달할 수 있습니다. 

 

 

텍스트 처리에 사용되는 명령어 cat, grep, cut, sed를 소개하겠습니다.

 

 

cut 명령어

 

cut 명령어는 표준 입력에서 받은 문자열을 특정한 기호로 잘라 원하는 부분을 추출한 뒤 표준 출력으로 전달하는 명령어 입니다.

cut 명령어는 텍스트 일부를 제거할 때 사용합니다.
-d 옵션은 구분할 문자 , -f 옵션은 열의 번호 (여러 개 지정 가능)

 

 

cat 명령어
cat 명령어는 매개변수로 전달된 파일을 출력합니다. 

 

 


grep 명령어
grep 명령어는 일부 줄만 추출할 때 사용합니다. 매개변수로 지정한 문자열을 포함한 줄을 추출하며 ,정규 표현식을 매개변수로 지정할 수 있습니다.

 

 

 

sed 명령어
sed 명령어는 특정 조건에 맞는 줄을 치환하거나 제거할 때 사용합니다. 매개변수에 's/<정규 표현식>/<치환할 문자>/<옵션>' 형태로 문자열을 전달하면 
<정규 표현식>에 맞는 부분을 <치환할 문자열>로 치환해서 출력합니다.

 


 

정규 표현식이란? 

특정 패턴의 문자열을 나타내기 위한 문자열 표현을 의미합니다. 보통 패턴에 맞는 문자열을 검색할 때 사용합니다.
정규 표현식에서는 패턴을 나타내기 위한 메타 문자라고 하는 기호를 사용합니다. 
예를 들어서, '(검은|초록)색' 이 정규 표현식에서는 '(' , '|' , ')' 이 메타 문자입니다.
이러한 정규 표현식은 검은색 또는 초록색이라는 문자열과 매치됩니다.

 

 

여러가지 정규 표현식들 중에서 대표적인 정규 표현식들
POSIX의 기본 정규 표현식(Basic Regular Expressions, BRE)
POSIX의 확장 정규 표현식(Extended Regular Expressions, ERE)
Perl의 정규 표현식

 


학장 정규 표현식과 Perl 정규 표현식에서 공통적으로 사용할 수 있는 주요 메타 문자

 

 메타 문자 

 설명

 .

 임의의 문자 하나

 []

 [] 내부의 문자 중에 하나와 매치

 [] 내부의 -

 -로 문자의 범위를 나타낸다.

 [] 내부의 ^

 ^를 앞에 붙이면 부정을 나타낸다.

 ^

 줄의 시작

 $

 줄의 끝

 *

 직전의 패턴을 0번 이상 반복

 +

 직전의 패턴을 1번 이상 반복

 ?

 직전의 패턴을 0번 또는 1번 반복

 {n}

 직전의 패턴을 지정한 n만큼 반복

 ()

 ()로 감싼 패턴을 그룹으로 묶습니다.

 |

 |로 구분된 패턴을 모두 매치

 

반응형

'웹 크롤링' 카테고리의 다른 글

Wget 이란?  (0) 2018.11.02
Comments