diff options
author | Ben Webb <bjwebb67@googlemail.com> | 2013-03-09 14:49:59 +0000 |
---|---|---|
committer | Ben Webb <bjwebb67@googlemail.com> | 2013-03-09 14:49:59 +0000 |
commit | 987bdf1ece76ad4436594d426be96ee8a8a0a2c2 (patch) | |
tree | 7eb09f1a84f9ddbfae7ec5eaca80aea173fec200 | |
parent | e99838b60187b54d28175af04948bfb97c480338 (diff) | |
download | get-flash-videos-987bdf1ece76ad4436594d426be96ee8a8a0a2c2.tar.gz |
Add basic Facebook plugin
-rw-r--r-- | lib/FlashVideo/Site/Facebook.pm | 25 |
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; |