python・TweitterAPIを使って、ニュースタイトル自動取得

下のゲームでニュースを毎日取得して更新するプログラムを走らせています。

今回はpythonでニュースを自動で取得するプログラムを全文置いておきます。

各自で改良して使ってください。

コード

consumer_key = ""
consumer_key_secret = ""
access_token = ""
access_token_secret = ""

上のところは各自で設定お願いします。

    s = result
    target_2 = "】"
    idx = s.find(target_2)
    retuslTitle = s[1:idx]  # スライスでターゲットとした文字よりも前を抽出

ちょっとした文字列操作↑

yahooニュースは【タイトル】という形で投稿されているので、【】前後で文字列を抽出しています。

def openAndSave(string, string2):
    f = open(string+'.txt','w', encoding='UTF-8')
    f.truncate(0)
    f.write(string2)
    f.close()

ファイルを開いて中身を消して(上書きのため)最新の情報を書き込むための関数です。

引数の一つ目でファイル名.txt

引数の二つ目で書き込みたい内容を(ここではタイトルだけを改行でつないだ文字列を)

結果の写真を張っておきます。

以下全文

import tweepy
import os


consumer_key = ""
consumer_key_secret = ""
access_token = ""
access_token_secret = ""


auth = tweepy.OAuthHandler(consumer_key,consumer_key_secret)
auth.set_access_token(access_token,access_token_secret)
api = tweepy.API(auth)


results =[]
Account = "@YahooNewsTopics" #取得したいユーザーのユーザーIDを代入
tweets = api.user_timeline(Account, count=100, page=1)

#アカウントからツイート検索
for tweet in tweets:
    if(tweet.favorite_count > 200): #200いいね以上
        results.append(tweet.text)
        if len(results) > 15:#15個超えたらループ終わり
            break
    else:
        continue

TitleList = []
#表題だけの抽出
for result in results:
    s = result
    target_2 = "】"
    idx = s.find(target_2)
    retuslTitle = s[1:idx]  # スライスでターゲットとした文字よりも前を抽出
    if(finish =="今週の話題"):#除外する場合はここで条件を
        break
    TitleList.append(retuslTitle)

compTitle = TitleList.join("\n")


def openAndSave(string, string2):
    f = open(string+'.txt','w', encoding='UTF-8')
    f.truncate(0)
    f.write(string2)
    f.close()

openAndSave("Comptitle",compTitle)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です