#!/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";
}
С помощью этого кода я просто хочу загрузить фотографию профиля данного человека (#NAVIGATE TO USER PAGE) и сохранить его. Тем не менее, я получаю сообщение о том, что изображения не найдены! WHYYY? (Я нашел $ mech-> find_image (url_regex => qr/s160x160 /,), чтобы найти изображение на странице профиля.)Perl: WWW: Механизируйте, получив изображение профиля Facebook?
это изображение действительно существует? – gaussblurinc
Правильный способ сделать это через API-интерфейс [Facebook Graph] (https://metacpan.org/module/Facebook::Graph). – friedo
Это почти наверняка нарушит некоторые правила в Facebook TOS. –