min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

myTwitterDL.py 特定のユーザーのツイートから画像を取得する

bitFlyer口座開設(ビットコイン1,000円もらえる)URL

 

ツイート画像をガッと取得したい

twitterのIDを指定すると

 

そのアカウントがツイートした画像をガツっと落として

 

当時の画像を参照できるという。

超絶便利。

 

ソースはここの丸写し。

qiita.com

 

変えたのは3点。

・2行目のCONFIG2は(うっとおしいので)消してKEYはソース内に全部書く。

・44行目と46行目の保存先フォルダは自分の環境用に変える。

・63行目のダウンロード数MAX200らしい

 

コピペ用

import tweepy
#from config import CONFIG2
import urllib.request
import re

# 投稿日 2019年12月04日
# Twitterで特定のユーザから画像を取得する
# https://qiita.com/git-Ktu/items/b5971499efd59785915a

CONSUMER_KEY = 'aaaaaaaaaaaaaaaaaaaaaaaaa''

#Consumer Secret (API Secret)
CONSUMER_SECRET = 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb''

#Access Token    
ACCESS_TOKEN = 'cccccccccccccccccccccccccccccccccccccccccccccccccc''

#Access Token Secret
ACCESS_SECRET = 'ddddddddddddddddddddddddddddddddddddddddddddd''


auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)

#キーワードで検索
def log(user_name, count, id):
    result_url = []
    for i in range(0, 2):
        results = api.user_timeline(screen_name=user_name, count=count, max_id=id)
        id = results[-1].id
        for result in results:
            if 'media' in result.entities:
                judg = 'RT @' in result.text
                if judg == False:
                    for media in result.extended_entities['media']:
                        result_url.append(media['media_url'])
    return result_url

def extract_pic_file(image_url):
    m = re.search(r"*1", image_url)
    if m:
        name = 'myTwitter_img_dl/' + m.group(0)
    else:
        name = 'myTwitter_img_dl/None.png'
    return name

def save_image(url, name):
    count = 1
    for image_url in url:
        file_name = extract_pic_file(image_url)
        urllib.request.urlretrieve(image_url, file_name)
        count += 1

def fast(user_name):
    results = api.user_timeline(screen_name=user_name, count="1")
    for result in results:
        id = result.id
    return id

def start():
    count = 200
    user_name = input("IDを⼊⼒>>")
    id = fast(user_name)
    url = log(user_name, count, id - 1)
    save_image(url, user_name)

if __name__ == "__main__":
    start()

 

westplain.sakuraweb.com

 

 

 

その買うを、もっとハッピーに。|ハピタス

*1:[A-Za-z0-9]|_)+\.(png|jpg