28
24

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.

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

Last updated at Posted at 2017-12-04

注意
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/articles/7

28
24
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
28
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?