It turns out that get_absolute_url takes two arguments, the first is the page the relative URL was found on and the second is the ( possibly ) relative URL.
This should work:while( $html =~ m/\<script .*? src=\"(.+?)\Q.js"><\/script>\E/gis +){ my $js_url = $1; if ($js_url !~ /^https?:\/\//) { $js_url = HTML::Miner::get_absolute_url($url, $js_url); } push( @result_arr, "$js_url.js" ); } return \@result_arr;
I just posted HERE about the HTML::Miner V0.05 that I uploaded which has the option to pull out CSS ans JS. It also provides for relative URLs.
Finally it may not matter here but if there is a non-css <link /> or a file like 'blah.js?something' then this kind of RegEx might fail, I used:
$html =~ m/(<link [^<]*?href=\"([^\"]+?\.css[^"]*?)\")/gis $html =~ m/(<script [^<]*?src=\"([^\"]+?\.js[^"]*?)\")/gis
In reply to Re^3: Extract CSS + JS + Image URLs from a HTML page?
by tmharish
in thread Extract CSS + JS + Image URLs from a HTML page?
by ultranerds
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |