aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Webb <bjwebb67@googlemail.com>2013-03-09 14:49:59 +0000
committerBen Webb <bjwebb67@googlemail.com>2013-03-09 14:49:59 +0000
commit987bdf1ece76ad4436594d426be96ee8a8a0a2c2 (patch)
tree7eb09f1a84f9ddbfae7ec5eaca80aea173fec200
parente99838b60187b54d28175af04948bfb97c480338 (diff)
downloadget-flash-videos-987bdf1ece76ad4436594d426be96ee8a8a0a2c2.tar.gz
Add basic Facebook plugin
-rw-r--r--lib/FlashVideo/Site/Facebook.pm25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/FlashVideo/Site/Facebook.pm b/lib/FlashVideo/Site/Facebook.pm
new file mode 100644
index 0000000..d3db5d9
--- /dev/null
+++ b/lib/FlashVideo/Site/Facebook.pm
@@ -0,0 +1,25 @@
+# Part of get-flash-videos. See get_flash_videos for copyright.
+package FlashVideo::Site::Facebook;
+
+use strict;
+use FlashVideo::Utils;
+
+use URI::Escape;
+
+sub find_video {
+ my ($self, $browser, $embed_url) = @_;
+
+ # Grab the file from the page..
+ my $params = ($browser->content =~ /\["params","(.+?)"\]/)[0];
+ $params =~ s/\\u([[:xdigit:]]{1,4})/chr(eval("0x$1"))/egis;
+ $params = uri_unescape($params);
+ my $url = ($params =~ /"sd_src":"([^"]*)"/)[0];
+ $url =~ s/\\\//\//g;
+ die "Unable to extract url" unless $url;
+
+ my $filename = ($url =~ /([^\/]*)\?/)[0];
+
+ return $url, $filename;
+}
+
+1;