Twitter에서 모든 이미지를 일괄 다운로드하는 데 어려움을 겪은 이야기

개요



여러 사정으로 한 유명인의 Twitter에 있는 팬 아트를 모으게 되었습니다.

환경


  • macOS Mojave 10.14.6
  • PHP 7.3.12
  • pip 19.3.1
  • 파이썬 3.7

  • 요구사항


  • 한 유명인의 트위터에 팬 아트를 모으기
  • Twitter에서 특정 단어로 검색 할 때 표시되는 이미지 모음
  • 기간은 2년 이상 전부터 현재까지


  • 이름을 낼 수 없기 때문에, 만일 「고슴도치」의 화상을 모으기로 합니다.
    수집해야 할 이미지는 트위터에서 '고슴도치'와 '헤지호그'를 검색할 때 표시되는 이미지입니다.

    결론



    google-images-download에서 "Twitter에서 "고슴도치"라고 검색했을 때"에 표시되는 이미지를 일괄 DL한다.
    googleimagesdownload -ri -cd "./chromedriver" -l 1000 -k "site:twitter.com ハリネズミ"
    

    시도한 것



    다음 두 가지를 시도했습니다.
  • Twitter Search API
  • google-images-download

  • Twitter Search API



    Twitter의 이미지를 DL한다면, Twitter의 API를 사용하자는 곳에서, 「Twitter Search API」를 사용하기로 했습니다.

    Twitter 개발자 등록하고, API 키 등을 발행한다



    자신의 경우는, 몇 년전에 개발자 등록을 해 테스트용의 API 키를 발행하고 있었으므로, 그 API 키를 사용했습니다.
    처음으로 Twitter 개발자 등록을 하시는 분은 이쪽을 보면 좋을지도 모릅니다.

    OAuth 인증하고 API를 두드리는



    코드는 GitHub에 둡니다. README를 보면 바로 사용할 수 있습니다.
    htps : // 기주 b. 코 m / 너 sk 19 / 코 ct_와 r_

    API 제한에 걸린다



    그러나, 무료로 검색할 수 있는 범위가 지난 7일간이라는 것이 판명되어, Twitter Search API에서는 요건을 충족하는 툴을 만들 수 없는 것이 판명되었습니다.



    google-images-download



    그래서 기계 학습의 이미지 수집에 사용되는 "google-images-download"를 사용하기로 결정했습니다.

    자세한 것은 이 기사를 보는 것이 빠르다.

    google-image-download 설치


    pip install google_images_download
    

    chromedriver 다운로드



    이미지를 1000장 이상 일괄 DL하려면 chromedriver가 필요하므로 여기 에서 DL합니다. 현재 사용 중인 Google 크롬과 버전이 맞지 않으면 제대로 작동하지 않으므로 주의가 필요합니다.

    다운로드 후 zip 파일을 압축 해제하고 명령을 실행하는 디렉토리 바로 아래에 놓습니다.



    명령을 tmp 디렉토리에서 실행하는 경우의 설치 예.

    google-image-download 실행



    google-image-download를 사용하는 것은 간단하며 아래 명령을 실행하면 Google에서 '고슴도치'를 검색할 때 1000장의 이미지를 다운로드할 수 있습니다.
    googleimagesdownload -ri -cd "./chromedriver" -l 1000 -k "ハリネズミ"
    

    보통으로 검색하면, Twitter 이외의 화상도 DL 해 버리므로, 고급 검색 를 사용해, Twitter에 투고된 화상만을 DL 하도록 하고 있습니다.
    googleimagesdownload -ri -cd "./chromedriver" -l 1000 -k "site:twitter.com ハリネズミ"
    

    마지막으로



    Twitter Search API의 구현에 상당히 시간을 먹은 결과, 사용할 수 없는 것을 알았으므로, 더 빨리 google-image-download의 존재를 알아차리면 좋았다…

    좋은 웹페이지 즐겨찾기