この日記は https://yapud.hatenablog.com/ に引っ越し中
2013-02-20
_ [Software] Twitter の特定の status id に favorite が何個ついてるか調べるよ perl で
Twitter の status(個別ツイート)の URL を与えたらそこにいくつ favorite がついてるか数を返すのを perl でこさえてみました。とりあえず動けばいいだけのモノです。
#!/usr/bin/perl # use strict; use warnings; use LWP::UserAgent; use HTML::TreeBuilder; # my $statusurl = 'https://twitter.com/moriya_jp/status/150528483121041408'; print &htmlcount($statusurl) . "\n"; # exit; # # HTMLからfavoriteの数を取り出す sub htmlcount { my ($url) = @_; my $favcount = 0; my $user_agent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)"; # LWPでアクセス my $ua = LWP::UserAgent->new('agent' => $user_agent); my $res = $ua->get($url); my $content = $res->content; # HTML::TreeBuilderで解析 my $tree = HTML::TreeBuilder->new; $tree->parse($content); # favoriteの数テキストだけ抜き出す if ( $tree->find_by_attribute('class', 'request-favorited-popup') ){ $favcount = $tree->look_down('class', 'request-favorited-popup')->find('strong')->as_text; } return $favcount; }
API 経由で~みたいなオシャレなことはしていません。LWP で HTML をもってきて HTML::TreeBuilder にパースしてもらって目的のテキストを取り出しているだけ。ちからわざ。
前 | 2013年 2月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 |