본문 바로가기

IT/프로그램

[scraping - php 스크래핑] 시작하기

스크래핑 (scraping)

필요한 데이터를 추출해 가공하거나 제공하는 기술입니다.


제가 쓰고 있는건 상품 스크래핑이에요.


많이들 사용하시는 부분이죠.


저보다 많이들 아실거 같지만, 그래도 한분에게라도 도움이 되었으면 해서 간단하게 정리합니다. ^^


스크래핑을 도와주는 프로그램도 많지만, 세부적인 수집이 어려운거 같아요.


사이트별로 접근방식이나 필요한 정보를 얻기 위한 경우의 수도 많고, url내에서 타url(ajxz



제가 생각할때 제일 많이 쓰이는게 상품 스크래핑인데요.


구매대행이나, 위탁판매 에 많이 쓰일거 같습니다.


그외에도 사용하는 분야가 많겠지만요.


여기서는 상품 스크래핑을 기준으로 말씀드릴께요. (제가 사용하는건 php 입니다.)



1. 상품정보 수집에 대한 정보 DB화

 - 내가 필요한 상품의 기본정보에 대한 저장입니다.

2019/01/17 - [scraping - php 스크래핑] 1. 상품정보 수집에 대한 정보 DB화



2. 상품목록에서 상품 링크 가져오기.

 - 대량으로 할시 페이지별 상품까지 가져와야죠?


3. 상품정보 저장하기

 - 제일 중요한 상품정보 DB화입니다.








스크래핑에서 주로 사용하는 기능은 아래와 같습니다.


1. curl_setopt - 서버에서 요청하는 url의 소스를 가져옵니다.

2. preg_match, preg_match_all - 패턴 분석시 사용하는 함수입니다.

3. 정규식 - 패턴 분석을 위한 부분입니다.


간단히 위 3가지만 아시면 데이타 수집에는 별 지장없이 진행이 가능하실거에요.




1. curl 의 경우 서버에서 접근하는 방식이라서 차단이 걸린 사이트들이 꽤 있습니다.


이럴경우 서버를 별도로 사용해 "셀레니움(selenium)"을 사용하면 가능합니다.


다만 셀레니움의 경우 curl에 비해 많이 느려요..


대량이 아니고 어느정도 커버가 될거 같다면 셀레니움도 추천합니다.


셀레니움 크롬 사용시 url로 접근해서 소스를 가져오는 방식보다는


url : https://www.naver.com/

셀레니움 사용시 : view-source:https://www.naver.com/


이렇게 가져오는게 조금이나마 빠릅니다. ^^



디테일하게 하기 위해선 조금 더 있지만, 차차 설명드리겠습니다.



막상 시작하려니.. 앞뒤 안맞고 틀린부분도 있을거에요.


잘못된 부분 있으면 콕콕집어서 알려주세요~


저도 배워야할 부분이 많습니다. ^^




'IT > 프로그램' 카테고리의 다른 글

[php] 윈도우 스케줄러 cmd schtasks 사용  (0) 2020.08.28
[scraping - php 스크래핑] 1. 상품정보 수집에 대한 정보 DB화  (2) 2019.01.17
ASP 함수 정리  (0) 2018.12.06
php 함수정리  (0) 2018.12.02
이미지 롤링  (0) 2018.11.28