5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

クローラー/WebスクレイピングAdvent Calendar 2016

Day 14

Twitter Streaming APIを使った【夢】のクローリング

Last updated at Posted at 2016-12-14

はじめに

Twitter Streaming APIを使って人間の夢をクローリングをしました。

朝起きてからすることと言ったらTwitterです。
ある朝、フォロワーさんがとても面白い夢の内容をツイートしており、正直ニヤけました。
それを見て「人の夢ってユニークだよなあ」と思い、ピンときてクローリングにいたったものです。

作ったもの

バクくん - Twitter Bot
https://twitter.com/yumewomita_baku

コード

全てのコードはこちら

説明

夢の内容を持ってくる方法として、夢ツイートは大抵文章の終わりに「夢を見た」か「夢を見ました」を書くため、それらをキーワードにそれ以前の文章を取ってくるようにします。
これにはTwitter Straming APIのtrackメソッドを用いています。

スクレイピングをしていると、取ってきた情報の中に不要なキーワードや記号を含んでいる場合があります。
そこで、あらかじめそれらをストップワードとして決めておき、省く方法を取りました。

今回の場合だと、とある歌詞Botが「夢を見た」などとつぶやき散らかしていたため、名前かスクリーンネームに「Bot」を含まないツイートを取るようにしています。

後は取得したツイートの空白・改行、リプライの宛名等を消した後、ツイートします。

しかし...

Botを実際に見てみると、動いてはいるものの1つ問題点があります。
それは「夢を見た」のキーワードの前に空白がないと、該当するツイートを取得してこないことです。

推測するに、デフォルトでは英語での利用を想定して作られたため、trackメソッドでは取得の際にキーワードの前後に空白があることの判定をしているのかと思います。

該当のコード

前後に空白がないようなおもしろ夢ツイートを持ってくるようにしたいので、なんとかできないかなと思っています。(強い人助けて下さい)

おわりに

ツイッター上にはまだメディアが取り上げていないような有益なコンテンツが眠っている。
と偉い人が言っていました。

ピンときたらツイッターのクローリングをしていきましょう。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?