Skip to content

akalswl14/insta_crawling

Repository files navigation

insta_crawling

Python과 Selenium으로 인스타그램을 크롤링합니다.

  • 크롤링 과정은 다음과 같습니다.
  1. imgvidDownloader.py
    1. ScrollFeed.py를 실행시켜 팔로워 정보를 수집해 엑셀로 저장하고, 각 feed(게시글)의 url 리스트를 수집
    2. GetContents.py를 실행시켜 게시물 id 명의 폴더에 사진과 비디오 저장
  2. TextDownloader.py
    1. ScrollFeed.py를 실행시켜 팔로워 정보를 수집해 엑셀로 저장하고, 각 feed(게시글)의 url 리스트를 수집
    2. GetEachText.py를 실행시켜 좋아요수, text, 사진, 동영상을 크롤링해 리스트로 저장시켜 반환
    3. MakeExcel.py로 크롤링한 정보를 엑셀로 저장
  3. ScrollFeed.py
    1. 특정 계정의 인스타그램 모바일 페이지로 접속
    2. 로그인
    3. 팔로워 정보 수집
    4. 모든 게시물이 보일때까지 스크롤하면서 각 게시물의 url 수집 및 텍스트로 저장
    5. 게시물 갯수와 다를 경우 다시 스크롤하면서 수집.(set으로 중복을 제거합니다.)
    6. 로그아웃
  4. GetContents.py
    1. 수집한 url을 접속하면서 사진, 동영상 크롤링해서 게시물 id를 폴더로 만들어 각 폴더에 저장
  5. GetEachText.py
    1. 수집한 url을 접속하면서 좋아요수, text, 사진, 동영상 크롤링해서 리스트로 저장
  6. MakeExcel.py
    1. 게시물 id, 좋아요수, text, 사진, 동영상 리스트의 리스트를 엑셀로 저장
  • 유의할 점
    • 이유는 모르겠으나 스크롤할때 게시물을 잘 못읽어올때가 있습니다. 이를 위해 갯수가 맞을 때까지 크롤링하게 됩니다.
    • 각 게시물에서 사진,동영상을 가져올때 img태그는 크롤링 되나 src속성이 포함되지 않게 크롤링해와 keyerror 'src'가 나타납니다. 이부분 또한, 원인을 찾지 못했기 때문에 나타나지 않을때까지 가져오는 방식을 채택하게 되었습니다.
    • 위 두사항의 원인과 해결책 아시는 분은 의견 남겨주시면 감사하겠습니다.
    • 모바일 페이지로 크롤링합니다. 보다 간결한 구조에서 크롤링해오기 위함입니다.
    • chromedriver를 본 폴더 안에 다운로드받아 실행해야합나다.
  • 개발 예정
    • 크롤링한 정보를 aws s3로 원본과, 저화질 resizing본 저장
    • API로 제작

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages