Braveブラウザに対応した日本中のサイトをTwitterAPIで集めてみる


__Twitter APIをPythonで叩いてBraveブラウザに対応したサイトを集めてみました。[元ネタはこちら。](https://qiita.com/NP_Systems/items/43213990274467d8f7e9)#「Brave対応済み」でツイートしてくれたら探しにいきます__

## Braveブラウザ対応のサイト@2020年11月2日

[Fumito Mizuno 閉じた本 #のベルズさん@ounziw](https://twitter.com/ounziw)
[「WordPressユーザーのためのPHP入門 はじめから、ていねいに。」サポートページ](https://php4wordpress.calculator.jp/)

[S., Masaya（わたし）](https://twitter.com/Masaya04997245)
[サラリーマンの個人事務所NP-Systems](https://np-sys.com/)

[@ryuya_uetakeさんのブログ](https://ryuyauetake.com/)

## Braveブラウザとは何か

Mozillaの元CEOの開発したChroniumベースの新しいブラウザです。アドブロックできる高速なブラウザ、あるいはコンテンツ製作者へ投げ銭できるブラウザとして認知されていますが、__広告を表示させるとお小遣いが入ってくるブラウザ__でもあります。端的には、ユーザーが広告を管理できることを目指したオープンでセキュアなブラウザです。

Braveブラウザについては「グーグルが消える日 Life after Google（ジョージ・ギルダー著）」を参考にしつつ、[こちらのqiita記事](https://qiita.com/NP_Systems/items/43213990274467d8f7e9)にまとめました。


## Adsense、アフィリエイトに代わる第３の収益化の仕組み
コンテンツ製作者から見ると、__BraveブラウザはAdsenseやアフィリエイトに替わる第３の収益化の仕組みでもあります__。Braveブラウザを使うとユーザは広告を表示することでお金を得られます。そして、それをサイト製作者に投げ銭できます。これによりミュージシャンが路上ライブで目の前の観客から投げ銭をもらうような仕組みをインターネット上で実現でき、サイト製作者としてはAdsense、アフィリエイトに代わる新たな収益化の手段となるのです。


## この記事について

そこで、[こちらの記事](https://qiita.com/NP_Systems/items/43213990274467d8f7e9)ではBraveブラウザでクリエータ登録する方法を紹介しました。しかし、実際はまだまだBraveブラウザにクリエータ登録をしているサイトが少ないのが現状です。そこで、__この記事では第３の収益化の仕組みであるBraveブラウザに登録した日本中のサイト__を紹介していきたいと思います（無謀ですが、それができてしまうくらいのサイト数しかないと見込んでいます）。

、、といってもここはプログラミングの情報共有サイトなのでそれだけだとポリシーに違反するので、PythonでTwitterAPIを介して「#brave対応済み」というハッシュタグのあるツイートを取得するコードを紹介したいと思います。そしてその結果をまとめるという形で、Braveブラウザにクリエータ登録した日本中のサイトを紹介したいと思います。

__サイトをBraveブラウザにクリエータ登録したら、Twitterでハッシュタグ「#brave対応済み」で投稿してみてください。２４時間ごとに集計して記事を更新する予定です！__

それではPythonでツイートを取得していきたいと思います。

## TwitterAPIを申請する
まずはTwitterAPIのトークン取得をしなければなりませんが、結構これが手間かかります。Twitter Developerというサイトで申請して待ってから使えるようになります。申請して他をやって待つのがいいかもです。こちらのサイトを参考に申請します。

https://www.itti.jp/web-direction/how-to-apply-for-twitter-api/

## TwitterAPIを叩くPython wrapperを準備する
トークンが入手できたら、それを使ってAPIを叩くだけです。PythonのWrapperとしてはtweetyというライブラリがよく使われていたようですが、私は動きませんでした（Python3.7.3,Mac）。そこで、この記事のコードを使わせていただきました。非常にプログラムもきれいで、神すぎました。

https://qiita.com/newt0/items/243b6f98a31433d2faaf

でこういうコードを作成しました。

```main.py
Class 神記事のコード():
  ''
  ''

def get_tweets():
    getter = TweetsGetter.bySearch('braveブラウザ')#ここに検索したいキーワード。
    df = pd.DataFrame()
    for tweet in getter.collect(total = 50):
        print(tweet)
        created_at = tweet['created_at']#'Sun Oct 11 06:53:43 +0000 2020'
        year = created_at[-4:]
        time = created_at[-19:-11]
        day = created_at[-22:-20]
        month = {'Jan':'1','Feb':'2','Mar':'3','Apr':'4','May':'5','Jun':'6','Jul':'7','Aug':'8','Sep':'9','Oct':'10','Nov':'11','Dec':'12'}[created_at[4:7]]
        when =  datetime.strptime('%s/%s/%s %s'%(year,month,day,time),'%Y/%m/%d %H:%M:%S',)
        when = when.timestamp()
        when = datetime.fromtimestamp(when+3600*9)
        temp = pd.DataFrame({
        'id':[tweet['id']],
        'when':[when],
        'text':[tweet['text']],
        })
        df = pd.concat([df,temp],axis=0).reset_index(drop=True)
    with open("path/data.csv", mode="w", encoding="cp932", errors="ignore") as f:
        # pandasでファイルオブジェクトに書き込む
        df.to_csv(f,index=False,encoding='shift-jis')
    return df

if __name__ == '__main__':
    df = get_tweets()
```

## 動かした結果
結果はこんな感じです。csvにしました。

![スクリーンショット 2020-11-01 22.42.00.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550742/682e5b20-6110-ceaa-0b07-ffa4f4b42f93.jpeg)



## Braveブラウザに対応した日本中のサイトを集めてみる
あとは、csvの結果からURLを抜き出すだけで、Braveブラウザに対応サイトが得られます。
ちなみに11月1日の時点では、「#brave対応済み」のサイトはまだありませんでした。来週の土日くらいに最初の結果を投稿したいと思います。

Braveブラウザは非常に面白いブラウザなので、ぜひみんなで新しいインターネットを作っていきましょう！
ぜひツイートしてみてくださいね〜。

[Braveブラウザについてはこちら](https://qiita.com/NP_Systems/items/43213990274467d8f7e9)