Twitter
python3

twitterのタイムラインをスクレイピングする

注意
Twitter規約的には、スクレイピングだめらしいので、実行しない方向で!
この記事は、無限スクロールサイトのスクレイピングのコツだと思って見て下さいね。


TwitterAPIは、過去1週間分までしかデータを取得できません。
しかし、ブラウザでしたにスクロールすると結構なデータがとれます。(おおよそ3ヶ月位?)

どうやってとっているのかを探っていると、以下の記事を発見しました。
https://qiita.com/keitakurita/items/36c4381809c8e0c28a89

なるほど、HTMLの中に取得するツイートのIDとデータが埋め込まれているのか……

# HTMLを解析
import bs4

# ベースURLからデータを取得
url_data = urllib.request.urlopen('https://twitter.com/nnahito')

# HTMLデータを取得
html_data = url_data.read()

soup = bs4.BeautifulSoup(html_data)

# min-positionを抽出
min_position = soup.select('div[data-min-position]')[0].attrs['data-min-position']

これでmin_positionに次に取得する番号が取得できます。

というわけで、自分も一からクローラーを作ってみました。
よかったらどうぞ

https://nnahito.com/article/7