3 |
use warnings; |
use warnings; |
4 |
use strict; |
use strict; |
5 |
|
|
6 |
|
use WWW::Mechanize; |
7 |
|
use Data::Dump qw(dump); |
8 |
|
use File::Path; |
9 |
|
use Text::Unaccent; |
10 |
|
|
11 |
# Advanced search syntax: |
# Advanced search syntax: |
12 |
# http://images.isiknowledge.com/WOK46/help/WOS/h_advanced_examples.html |
# http://images.isiknowledge.com/WOK46/help/WOS/h_advanced_examples.html |
13 |
|
|
14 |
our $q = 'AD=Croatia'; |
our $q = 'AD=Croatia'; |
15 |
my $range_size = 500; |
my $range_size = 500; |
16 |
my $overlap = 3; # between previous and this range |
my $overlap = 3; # between previous and this range |
17 |
my $skip_results = 1; |
my $results = 0; |
18 |
my $cites_by_year = 1; |
my $citations = 0; |
19 |
|
my $cites_by_year = 0; |
20 |
|
|
21 |
my $max_cites = 5000; # ISI limit to get cites |
my $max_cites = 5000; # ISI limit to get cites |
22 |
|
|
27 |
$max_cites = 50; |
$max_cites = 50; |
28 |
} |
} |
29 |
|
|
30 |
use WWW::Mechanize; |
$q = unac_string( 'utf-8', join(' ', @ARGV) ) if @ARGV; |
|
use Data::Dump qw(dump); |
|
|
use File::Path; |
|
31 |
|
|
32 |
our $mech = WWW::Mechanize->new( |
our $mech = WWW::Mechanize->new( |
33 |
autocheck => 1, |
autocheck => 0, # it dies in reference download with it! |
34 |
cookie_jar => undef, |
cookie_jar => undef, |
35 |
); |
); |
36 |
|
|
38 |
our @ranges; |
our @ranges; |
39 |
|
|
40 |
my $dir = '/tmp/isi/'; |
my $dir = '/tmp/isi/'; |
41 |
rmtree $dir if -e $dir; |
#rmtree $dir if -e $dir; |
42 |
mkdir $dir; |
mkdir $dir unless -d $dir; |
43 |
|
|
44 |
sub save_mech { |
sub save_mech { |
45 |
my $path = shift; |
my $path = shift; |
214 |
|
|
215 |
search; |
search; |
216 |
years; |
years; |
217 |
get_results unless $skip_results; |
get_results 'results' if $results; |
218 |
|
|
219 |
|
if ( $citations ) { |
220 |
|
|
221 |
citations; |
citations; |
222 |
|
|
223 |
do { |
do { |
224 |
my $part; |
my $part; |
225 |
if ( @ranges ) { |
if ( @ranges ) { |
226 |
$part .= $ranges[0]->[0] . '.'; |
$part .= $ranges[0]->[0] . '.'; |
227 |
search; |
search; |
228 |
citations; |
citations; |
229 |
} |
} |
230 |
$part .= 'citing'; |
$part .= 'citing'; |
231 |
get_results $part; |
get_results $part; |
232 |
} while ( @ranges ); |
} while ( @ranges ); |
233 |
|
|
234 |
|
} |