나나자와 미아씨의 이미지로 치유되고 싶다 그런 때는 Twitter API를 두드리자♪
11385 단어 파이썬TwitterAPI
소개
이번에는 WebAPI의 트위터 API를 다룹니다.
Twiiter API를 이용하면 다음의 2점 작업을 자동으로 할 수 있게 됩니다.
① 특정 조건을 충족하는 게시물 취득
② 내 계정으로 자동으로 게시
이번에는 ①을 실행해 보겠습니다.
AV 여배우로서 활약되어 자신이 제일 신세를지고 있는 나나자와 미아씨의 Twitter 중에서, 투고된 화상을 자동으로 취득해 갑니다.
Twitter Keys & Tokens 얻기
#API key
consumer_key = "???"
#API secret key
consumer_secret = "???"
#Access token
access_token = "???"
#Access token secret
access_token_secret = "???"
#各々取得して???に代入してください。
#「pip install tweepy」を実行して下さい
import tweepy
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
나나자와 미아 님의 트위터 계정 및 팔로워 수
아래 코드에 대한 자세한 내용은
htps : // 흔들림. 기주 b. 이오 / ぇえ py / 제대로 g_s r d. html # 헤이와 파이
에 쓰여져 있습니다.
def show_user_profile():
user = api.get_user('mia_nanasawa')
print(user.screen_name) #アカウント名取得
print(user.followers_count) #フォロワー数取得
아래의 트위터 이미지에서 올바르게 계정 이름, 팔로워 수를 얻을 수 있음을 알 수 있습니다.
나나자와 미아 님의 트윗 정보 취득 (복수의 이미지)
user_timeline의 사용법은
htps : // 흔들림. 기주 b. 이오/토에 py/아피. HTML
에 쓰여져 있습니다.
import json
user_id = "mia_nanasawa"
statuses = api.user_timeline(id=user_id, count=4)
for status in statuses:
#jsonを見やすくするためのワザ
print(json.dumps(status._json, indent=2))
entities와 extended_entities 안에 url이 들어 있는 것을 알 수 있다.
하나의 투고에 복수의 사진이 포함되어 있는 경우는, extended_entities에만 복수의 사진이 포함되는 것을 조사해 보면, 알았다.
def show_media_url():
user_id = "mia_nanasawa"
statuses = api.user_timeline(id=user_id, count=4)
for status in statuses:
for entity in status.extended_entities["media"]:
img_url = entity["media_url"]
print(img_url)
break
이미지 다운로드
def download_image(url, file_path):
r = requests.get(url, stream=True)
if r.status_code == 200:
with open(file_path, "wb") as f:
f.write(r.content)
실행
Cursor의 사용법은
htps : // 흔들림. 기주 b. 이오 / 트에 py / 쿠 r 소 r_ 쓰리 아 l. HTML
에 쓰여져 있습니다.
import requests
import tweepy
def main():
user_id = "mia_nanasawa"
for page in tweepy.Cursor(api.user_timeline, id=user_id).pages(20):
for status in page:
try:
for media in status.extended_entities["media"]:
media_id = media["id"]
img_url = media["media_url"]
print(media_id)
print(img_url)
#カレントディレクトリに"imagesフォルダ”を作成しときます。
download_image(url=img_url, file_path="./images/{}.jpg".format(media_id))
#tryの中でエラーが発生したら、例外が出力されループを回す
except Exception as e:
print(e)
#動画を含むツイートの際にエラーが起きてる可能性がある。
if __name__ == "__main__":
main()
위의 출력에서 몇 가지 오류 처리가 발생했음을 알 수 있습니다.
아마도 이미지 파일이 아니라 동영상이 트윗에 포함될 것으로 예상됩니다.
(덧붙여서, 트윗된 이미지는 제대로 얻어졌습니다.)
결과
올바르게 이미지 파일에 저장되어 있는지 확인할 수 있습니다.
이것으로 눈의 보양이 생겼어요.
Reference
이 문제에 관하여(나나자와 미아씨의 이미지로 치유되고 싶다 그런 때는 Twitter API를 두드리자♪), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/2b685eb8f0601d5af5b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#API key
consumer_key = "???"
#API secret key
consumer_secret = "???"
#Access token
access_token = "???"
#Access token secret
access_token_secret = "???"
#各々取得して???に代入してください。
#「pip install tweepy」を実行して下さい
import tweepy
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
나나자와 미아 님의 트위터 계정 및 팔로워 수
아래 코드에 대한 자세한 내용은
htps : // 흔들림. 기주 b. 이오 / ぇえ py / 제대로 g_s r d. html # 헤이와 파이
에 쓰여져 있습니다.
def show_user_profile():
user = api.get_user('mia_nanasawa')
print(user.screen_name) #アカウント名取得
print(user.followers_count) #フォロワー数取得
아래의 트위터 이미지에서 올바르게 계정 이름, 팔로워 수를 얻을 수 있음을 알 수 있습니다.
나나자와 미아 님의 트윗 정보 취득 (복수의 이미지)
user_timeline의 사용법은
htps : // 흔들림. 기주 b. 이오/토에 py/아피. HTML
에 쓰여져 있습니다.
import json
user_id = "mia_nanasawa"
statuses = api.user_timeline(id=user_id, count=4)
for status in statuses:
#jsonを見やすくするためのワザ
print(json.dumps(status._json, indent=2))
entities와 extended_entities 안에 url이 들어 있는 것을 알 수 있다.
하나의 투고에 복수의 사진이 포함되어 있는 경우는, extended_entities에만 복수의 사진이 포함되는 것을 조사해 보면, 알았다.
def show_media_url():
user_id = "mia_nanasawa"
statuses = api.user_timeline(id=user_id, count=4)
for status in statuses:
for entity in status.extended_entities["media"]:
img_url = entity["media_url"]
print(img_url)
break
이미지 다운로드
def download_image(url, file_path):
r = requests.get(url, stream=True)
if r.status_code == 200:
with open(file_path, "wb") as f:
f.write(r.content)
실행
Cursor의 사용법은
htps : // 흔들림. 기주 b. 이오 / 트에 py / 쿠 r 소 r_ 쓰리 아 l. HTML
에 쓰여져 있습니다.
import requests
import tweepy
def main():
user_id = "mia_nanasawa"
for page in tweepy.Cursor(api.user_timeline, id=user_id).pages(20):
for status in page:
try:
for media in status.extended_entities["media"]:
media_id = media["id"]
img_url = media["media_url"]
print(media_id)
print(img_url)
#カレントディレクトリに"imagesフォルダ”を作成しときます。
download_image(url=img_url, file_path="./images/{}.jpg".format(media_id))
#tryの中でエラーが発生したら、例外が出力されループを回す
except Exception as e:
print(e)
#動画を含むツイートの際にエラーが起きてる可能性がある。
if __name__ == "__main__":
main()
위의 출력에서 몇 가지 오류 처리가 발생했음을 알 수 있습니다.
아마도 이미지 파일이 아니라 동영상이 트윗에 포함될 것으로 예상됩니다.
(덧붙여서, 트윗된 이미지는 제대로 얻어졌습니다.)
결과
올바르게 이미지 파일에 저장되어 있는지 확인할 수 있습니다.
이것으로 눈의 보양이 생겼어요.
Reference
이 문제에 관하여(나나자와 미아씨의 이미지로 치유되고 싶다 그런 때는 Twitter API를 두드리자♪), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/2b685eb8f0601d5af5b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def show_user_profile():
user = api.get_user('mia_nanasawa')
print(user.screen_name) #アカウント名取得
print(user.followers_count) #フォロワー数取得
user_timeline의 사용법은
htps : // 흔들림. 기주 b. 이오/토에 py/아피. HTML
에 쓰여져 있습니다.
import json
user_id = "mia_nanasawa"
statuses = api.user_timeline(id=user_id, count=4)
for status in statuses:
#jsonを見やすくするためのワザ
print(json.dumps(status._json, indent=2))
entities와 extended_entities 안에 url이 들어 있는 것을 알 수 있다.
하나의 투고에 복수의 사진이 포함되어 있는 경우는, extended_entities에만 복수의 사진이 포함되는 것을 조사해 보면, 알았다.
def show_media_url():
user_id = "mia_nanasawa"
statuses = api.user_timeline(id=user_id, count=4)
for status in statuses:
for entity in status.extended_entities["media"]:
img_url = entity["media_url"]
print(img_url)
break
이미지 다운로드
def download_image(url, file_path):
r = requests.get(url, stream=True)
if r.status_code == 200:
with open(file_path, "wb") as f:
f.write(r.content)
실행
Cursor의 사용법은
htps : // 흔들림. 기주 b. 이오 / 트에 py / 쿠 r 소 r_ 쓰리 아 l. HTML
에 쓰여져 있습니다.
import requests
import tweepy
def main():
user_id = "mia_nanasawa"
for page in tweepy.Cursor(api.user_timeline, id=user_id).pages(20):
for status in page:
try:
for media in status.extended_entities["media"]:
media_id = media["id"]
img_url = media["media_url"]
print(media_id)
print(img_url)
#カレントディレクトリに"imagesフォルダ”を作成しときます。
download_image(url=img_url, file_path="./images/{}.jpg".format(media_id))
#tryの中でエラーが発生したら、例外が出力されループを回す
except Exception as e:
print(e)
#動画を含むツイートの際にエラーが起きてる可能性がある。
if __name__ == "__main__":
main()
위의 출력에서 몇 가지 오류 처리가 발생했음을 알 수 있습니다.
아마도 이미지 파일이 아니라 동영상이 트윗에 포함될 것으로 예상됩니다.
(덧붙여서, 트윗된 이미지는 제대로 얻어졌습니다.)
결과
올바르게 이미지 파일에 저장되어 있는지 확인할 수 있습니다.
이것으로 눈의 보양이 생겼어요.
Reference
이 문제에 관하여(나나자와 미아씨의 이미지로 치유되고 싶다 그런 때는 Twitter API를 두드리자♪), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/2b685eb8f0601d5af5b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def download_image(url, file_path):
r = requests.get(url, stream=True)
if r.status_code == 200:
with open(file_path, "wb") as f:
f.write(r.content)
Cursor의 사용법은
htps : // 흔들림. 기주 b. 이오 / 트에 py / 쿠 r 소 r_ 쓰리 아 l. HTML
에 쓰여져 있습니다.
import requests
import tweepy
def main():
user_id = "mia_nanasawa"
for page in tweepy.Cursor(api.user_timeline, id=user_id).pages(20):
for status in page:
try:
for media in status.extended_entities["media"]:
media_id = media["id"]
img_url = media["media_url"]
print(media_id)
print(img_url)
#カレントディレクトリに"imagesフォルダ”を作成しときます。
download_image(url=img_url, file_path="./images/{}.jpg".format(media_id))
#tryの中でエラーが発生したら、例外が出力されループを回す
except Exception as e:
print(e)
#動画を含むツイートの際にエラーが起きてる可能性がある。
if __name__ == "__main__":
main()
위의 출력에서 몇 가지 오류 처리가 발생했음을 알 수 있습니다.
아마도 이미지 파일이 아니라 동영상이 트윗에 포함될 것으로 예상됩니다.
(덧붙여서, 트윗된 이미지는 제대로 얻어졌습니다.)
결과
올바르게 이미지 파일에 저장되어 있는지 확인할 수 있습니다.
이것으로 눈의 보양이 생겼어요.
Reference
이 문제에 관하여(나나자와 미아씨의 이미지로 치유되고 싶다 그런 때는 Twitter API를 두드리자♪), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/2b685eb8f0601d5af5b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(나나자와 미아씨의 이미지로 치유되고 싶다 그런 때는 Twitter API를 두드리자♪), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomoxxx/items/2b685eb8f0601d5af5b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)