ozzmotik

pbscrape

Nov 9th, 2018
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.99 KB | None | 0 0
  1. #!/usr/bin/env perl
  2.  
  3. use WWW::Pastebin::PastebinCom::API;
  4. use MongoDB;
  5. use Data::Dumper;
  6. use strict;
  7.  
  8.  
  9. my $key = 'c22bf0b6f942a1fffaf0eca025ee3335';
  10. my $pb = WWW::Pastebin::PastebinCom::API->new(
  11.     api_key => $key
  12. );
  13. my $mongo = MongoDB->connect();
  14. my $db = $mongo->get_database('pbscrape');
  15. my $pastes = $db->get_collection('pastes');
  16.  
  17. sub store {
  18.     my $trend = shift;
  19.     if(!(my @find = $pastes->find({key => $trend->{key}})->all)) {
  20.                 my $paste = $pb->get_paste($trend->{url});
  21.                 $trend->{content} = $paste;
  22.         if($trend->{title} eq '') {
  23.             $trend->{title} = substr($trend->{content},0,32);
  24.             $trend->{title} =~ s/(\r?\n)*/ /g;
  25.         }
  26.                 my $res = $pastes->insert_one($trend);
  27.                 print 'inserted id: ' . $res->inserted_id . ' for ' . $trend->{url} . "\n";
  28.         } else {
  29.                 warn 'i already have key ' . $trend->{key}
  30.         }
  31. }
  32.  
  33. my $trends = $pb->list_trends or die 'fuck it didn wurk';
  34. map {store($_)} @$trends;
Advertisement
Add Comment
Please, Sign In to add comment