1
#!/usr/bin/perl
#USE DECLARATIONS
use strict;
use warnings;
use WWW::Mechanize;
use Term::ANSIColor;
#VARIABLE DECLARATIONS
my $mech = WWW::Mechanize->new();
my $img;
my $title;
my $pic_page;
my $url;
my $count;
my @links;
#CONNECT TO FACEBOOK
$url = 'https://www.facebook.com/';
$mech = WWW::Mechanize->new();
$mech->agent_alias('Linux Mozilla');
$mech->get($url);
$title = $mech->title();
#LOGIN FORM
print "Connected to Facebook.\n";
print "Logging in...";
$mech->form_id("login_form");
$mech->field("email",'[email protected]');
$mech->field("pass",'mypass');
$mech->click();
print "done!\n";
#NAVIGATE TO USER PAGE
$mech->get("https://www.facebook.com/some.profile1234");
$title = $mech->title();
print "Finding $title 's profile pictue...\n";
#FIND PROFILE PICTURE
$img = $mech->find_image(url_regex => qr/s160x160/,);
print $img->url();
downloadImage($img->url(),$mech->title().".jpg");
sub downloadImage
{
my $local_file_name = $_[1];
my $b = WWW::Mechanize->new;
print "Downloading: $_[1]...";
$b->get($_[0], ":content_file" => $local_file_name);
print "done!\n";
}
이 코드를 사용하면 주어진 사람의 프로필 사진 (# 사용자 페이지로 이동)을 다운로드하여 저장하기 만하면됩니다. 그러나 이미지를 찾을 수 없다는 오류가 발생했습니다. 왜? (프로필 페이지에서 이미지를 찾으려면 $ mech-> find_image (url_regex => qr/s160x160 /)를 사용하고 있습니다.)Perl : WWW : Mechanize, Facebook 프로필 이미지 가져 오기?
이 이미지는 정말 존재인가? – gaussblurinc
올바른 방법은 [Facebook Graph] (https://metacpan.org/module/Facebook::Graph) API를 사용하는 것입니다. – friedo
이것은 Facebook TOS의 규칙을 거의 깨뜨릴 것입니다. –