Advertisement
Guest User

Untitled

a guest
Oct 28th, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. #!/usr/bin/perl -w
  2. use LWP::Simple;
  3. use JSON qw( decode_json );
  4. use Encode;
  5. use strict;
  6.  
  7. my $board_uri="https://2ch.hk/s/catalog.json";
  8. my $threads_base_uri="https://2ch.hk/s/res/";
  9.  
  10. my $board = decode_json(encode('UTF-8', get($board_uri)));
  11. my %os_data;
  12. my %browser_data;
  13.  
  14. for(my $i=0;$i<=$#{$board->{'threads'}};$i++)
  15. {
  16. my $thread = decode_json(encode('UTF-8', get($threads_base_uri.$board->{'threads'}[$i]->{'num'}.'.json')));
  17. for(my $j=0;$j<=$#{$thread->{'threads'}[0]->{'posts'}};$j++)
  18. {
  19. my $os=$1, my $browser=$2 if $thread->{'threads'}[0]->{'posts'}[$j]->{'name'} =~ m/.+>\(([^:]+): (.+)\)<+/;
  20. $os_data{$os}++;
  21. $browser_data{$browser}++;
  22. }
  23. print $i+1," of ".$#{$board->{'threads'}}." done\n";
  24. }
  25.  
  26. open(OS,"> os_stat.txt");
  27. foreach my $os (sort {$os_data{$b} <=> $os_data{$a}} keys %os_data)
  28. {
  29. print OS "$os,$os_data{$os}\n" unless $os eq "";
  30. delete $os_data{$os};
  31. }
  32. close(OS);
  33.  
  34. open(BROWSER,"> browser_stat.txt");
  35. foreach my $browser (sort {$browser_data{$b} <=> $browser_data{$a}} keys %browser_data)
  36. {
  37. print BROWSER "$browser,$browser_data{$browser}\n" unless $browser eq "";
  38. delete $browser_data{$browser};
  39. }
  40. close(BROWSER);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement