본문 바로가기

Python/crawling-instagram

Python 인스타그램 크롤링 프로젝트 구조

반응형

안녕하세요. 구현한 인스타그램 크롤링 프로젝트의 구조를 간략하게 설명하려고 합니다. 

 

총 3개의 스텝으로 나누어진 자동화 소스코드이니 참고하시기 바랍니다.

 

프로젝트 Git 주소 : github.com/kjky12/AnalyFamouHashtag

 

kjky12/AnalyFamouHashtag

Contribute to kjky12/AnalyFamouHashtag development by creating an account on GitHub.

github.com

 

 

 

 

프로젝트의 구조는 다음과 같으며 루트 경로에 있는 4개의 소스코드가 메인 소스 코드(ContentKewordFromInstaUrlToDB.py, ContentUsrIdFromInstagUrlToDB.py, InsertKewordInstaUrlDataToDB.py, ConvertRecognitionFromImg.py)이고 유틸 소스 코드를 이용해 크롤링, 데이터베이스 관리, 파일 관리, 이미지 관리 수행합니다. 

 

파일명 설명 명칭
ConfigIni.py Config.ini관리 -
ContentKewordFromInstaUrlToDB.py 키워드의 모든 url DB 저장 [메인]키워드
ContentUsrIdFromInstagUrlToDB.py 사용자 ID의 url DB 저장 [메인]사용자
InsertKewordInstaUrlDataToDB.py url의 데이터를 DB에 업데이트Update [메인]URL정보저장
ConvertRecognitionFromImg.py 얼굴을 인식해서 얼굴을 이미지로 추출 [메인]얼굴추출
Utill/CrawlingInstagramMng.py 인스타그램 크롤링 관련 코드 [유틸]크롤링
Utill/CSqlite3.py Sqlite DB 관리하는 코드 [유틸]Sqlite
Utill/GoogleVisionApi.py GOOGLE CLOUD vision api 관리 코드 [유틸]GoogleVision
Utill/FileDirectot.py 파일 관리 및 디렉토리 관리 코드 [유틸]파일관리

*크롤링 관련 소스코드는 빨간색 파일을 보시는게 가장 참고가 될것 같습니다.

 

프로젝트의 전체적은 로직은 다음과 같습니다.

총 3개의 스텝으로 나누어 수행됩니다.

 

#1

가장 메인이되는 4개의 소스코드 중 "[메인]키워드", "[메인]사용자"의 역할은 검색된 결과를 데이터베이스에 저장해주는 역할을 합니다.(자동화 소스코드를 만들다 보니 사용자 검색과 키워드 검색이 다른 것을 확인하였습니다.)

 

#2

"[메인]URL정보저장"은 DB에 저장된 결과를 읽어와 해당 URL속의 좋아요 개수, 게시글 날짜, 게시글 등과 같은 정보를 DB에 업데이트를 수행합니다. 그리고 해당 이미지는 URL Key와 동일한 디렉토리를 생성하여 이미지를 저장하는 역할을 합니다.

 

#3

"[메인]얼굴추출"는 디렉토리에 저장된 이미지 속 얼굴을 추출하여 Face디렉토리에 저장합니다. 얼굴 추출 알고리즘은 Google에서 제공하는 Google Cloud Vision을 사용하였습니다. 저는 구글 비전을 적용할 때 하단 블로그의 글을 많이 참고하였습니다. (참고 : bcho.tistory.com/

반응형