ロイターRSS取得
ニュース取得にはRSSという方法もある
https://www.google.com/amp/www.algo-fx-blog.com/python-news-headlines-rss/amp/
によれば
feedparserライブラリでできるらしい
https://qiita.com/hann-solo/items/46d2bd25667618c36a5d
を参考に
ロイターRSSのURLを変更したらできたが
# ニュースのヘッドライン print(reuters['entries'][0]['title']) # 公開日時 print(reuters['entries'][0]['published']) # URL print(reuters['entries'][0]['link'])
でえらーになる
entries がうまく行かない
# 取得したデータを確認 reuters
で内容を確認
# 公開日時 #print(reuters['entries'][0]['published']) print(reuters['entries'][0]['updated'])
としたら表示できた
[/python]
# ニュースの取得件数の確認
len(reuters[‘entries’])
[/python]
で確認したら現在は10が限界
# マーケットウォッチのデータを取得 market = feedparser.parse('http://feeds.marketwatch.com/marketwatch/realtimeheadlines/') market_df = pd.DataFrame(market['entries']) market_df.head(2)
としたが見にくい
# データを綺麗にする market_df = market_df[['published', 'title']] market_df.head()
で見やすくなったが title が省略される
market_df[['title']]
としても同じ
【Python】Pandasのデータフレームを省略せずに表示する方法を紹介!
を参考に省略せずに表示する
多分表示されなくてもデータの格納はされていると思う
https://qiita.com/kiddayo/items/e5ce519a234aff88af12
を参考に
pd.set_option('display.max_rows', 1500) pd.set_option('display.max_columns', 4096)
としたが
Summary 表示は変わらない
とりあえずは保留
またRSSだと
ニュース更新頻度に問題あるため
Twitter から取得する
すでに tweepy はインストール済
あとはツイート検索と取得
これもできたので
次はテキストのみ抽出する
Streamline でエラーになったが
https://teratail.com/questions/97557
を参考に
重複したdatetime を修正し
new_date = datetime.strptime(i,"%d/%m/%Y").strftime("%Y-%m-%d")
としたら解決した
修正したので commit しようとしたら
Author identity unknown *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: unable to auto-detect email address
となったので
git config --global user.email "メルアド" git config --global user.name "snowpooll"
を実行後
git commit -m "Correction of datetime part"
これで
Git push origin main
でOK
for tweet in tweepy.Cursor(api.search_tweets, q='"#雇用統計"').items(10): print(tweet.text)
とすれば
#雇用統計
を含むツイートが10件取得できる
Tweet.text
でツイート情報を取得できる
Tweet.user
ツイートしたユーザ情報にアクセス
Tweet.user.name
ユーザ名の取得
次に特定ユーザのツイート
#if文にてRTとリプライを除外 [tweet.text for tweet in tweepy.Cursor(api.user_timeline, id="Qiita").items(10) if (list(tweet.text)[:2]!=['R', 'T']) & (list(tweet.text)[0]!='@')]
としたら
Unexpected parameter id
となるので id ではないかもしれない
https://toxublog.com/blog/get_tweet_tweepy/
を参考にDFにしてみた
必要なのは
ユーザ名
時刻
ツイート内容
これで一回経済指標で実験してみる
#検索条件の設定 searchkey = '#雇用統計' item_num = 10 #検索条件を元にツイートを抽出 #tweets = tweepy.Cursor(api.search,q=searchkey,lang='ja').items(item_num) tweets = tweepy.Cursor(api.search_tweets,q=searchkey,lang='ja').items(item_num) tweet_data = [] for tweet in tweets: #tweet_dataの配列に取得したい情報を入れていく tweet_data.append([ tweet.text, tweet.user.screen_name, tweet.user.name ]) #取り出したデータをpandasのDataFrameに変換 #CSVファイルに出力するときの列の名前を定義 labels=[ 'ツイート内容', 'ユーザID', 'アカウント名', ] #tweet_dataのリストをpandasのDataFrameに変換 tweet_df = pd.DataFrame(tweet_data,columns=labels)
で大体近い感じ
あとは省略されている部分を調べる
Cvs では省略されていないので
そのままでも使えるはず
もしくはそのままでも使えるか調べる
経済指標アラートアカウント見たけど
アラートのみで実際の値はなし
Reutersとかのアカウントを使った方が正解かもしれない
とりあえず
アカウント名
ツイート内容が取得できればok
あとはここから絞り込み