Twitter에서 모든 이미지를 일괄 다운로드하는 데 어려움을 겪은 이야기
개요
여러 사정으로 한 유명인의 Twitter에 있는 팬 아트를 모으게 되었습니다.
환경
요구사항
이름을 낼 수 없기 때문에, 만일 「고슴도치」의 화상을 모으기로 합니다.
수집해야 할 이미지는 트위터에서 '고슴도치'와 '헤지호그'를 검색할 때 표시되는 이미지입니다.
결론
google-images-download에서 "Twitter에서 "고슴도치"라고 검색했을 때"에 표시되는 이미지를 일괄 DL한다.
googleimagesdownload -ri -cd "./chromedriver" -l 1000 -k "site:twitter.com ハリネズミ"
시도한 것
다음 두 가지를 시도했습니다.
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의 존재를 알아차리면 좋았다…
Reference
이 문제에 관하여(Twitter에서 모든 이미지를 일괄 다운로드하는 데 어려움을 겪은 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/qst_exe/items/87130cbc925b8db85d90텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)