상세 컨텐츠

본문 제목

Python을 이용한 인스타그램 사진 크롤링해서 다운로드 하기

Tech/AI Study

by Enjoy Something 2019. 11. 2. 00:09

본문

Python을 이용한 인스타그램 사진 크롤링해서 다운로드 하기

 

 

 

인스타그램 사진을 하나씩 다운로드 받기 어려운 사람들을 위해 제작된 프로그램입니다.

 

깃허브에서 핵심 기능을 다운로드 받을 수 있습니다.

 

아래 링크로 접속해줍니다.

 

https://github.com/huaying/instagram-crawler

 

huaying/instagram-crawler

Get Instagram posts/profile/hashtag data without using Instagram API - huaying/instagram-crawler

github.com

 

 

 

Clone or download 를 눌러 소스 다운로드를 해줍니다.

 

이제 아래에 있는 순서대로 설치를 해줍니다.

 

 

 

Install


1. Make sure you have Chrome browser installed.
2. Download chromedriver and put it into bin folder: ./inscrawler/bin/chromedriver
3. Install Selenium: pip install -r requirements.txt
4. cp inscrawler/secret.py.dist inscrawler/secret.py

 

 

 

 

아래 명령어를 써주면 jason 파일로 이미지 url 이 다운로드 됩니다.

 

저는 해시태그를 이용하여 다운로드를 할 것이기 때문에 {hashtag}에 해시태그를 넣어 줍니다.

 

{number}에는 다운로드 받고 싶은 이미지의 갯수를 적어 줍니다.

 

$ python crawler.py hashtag -t {hashtag} -o ./output -n {number}

 

 

 

 

 

url을 다운로드 받았으면 url을 이용하여 이미지를 다운로드 해줍니다.

 

아래 Python 코드를 작성해줍니다.

 

import urllib.request
import json

def DownloadSingleFile(fileURL, cnt):
    print('Downloading image...')
    fileName = './output/img' + str("%06d"%cnt) + '.jpg'
    urllib.request.urlretrieve(fileURL, fileName)
    print('Done. ' + fileName)

if __name__ == '__main__':
    with open('output.json') as data_file:
        data = json.load(data_file)

    for i in range(0, len(data)):
        instagramURL = data[i]['img_url']
       # print(instagramURL)
        DownloadSingleFile(instagramURL, i)

 

 

실행을 하면 이미지가 다운로드 됩니다.

 

관련글 더보기

댓글 영역