Eredmény: 1 - 4 (4) összesen

Téma: Yahoo Finance oldalról adatok leszedése

  1. #1
    Hanix72
    Vendég

    Kérdés Yahoo Finance oldalról adatok leszedése

    Sziasztok!

    Egy kisebb saját használatra szolgáló programot fejlesztgetek, amelyhez pár adat kellene a Yahoo Finance oldalról.
    Régebben volt egy API a Yahoon, amelynek támogatását megszüntették, fizetős szolgáltatót pedig nem szeretnék használni.
    Például az Apple fundamentális adatai az oldalon:
    h**ps://finance.yahoo.com/quote/AAPL/key-statistics?p=AAPL
    Az alábbi adatokat szeretném kinyerni az oldalról: Price/Sales (ttm), Shares Outstanding, Held by Institutions , Diluted EPS (ttm).
    (Az se baj ha az összes adat lejön egyszerre innen).

    Egy korábbi hozzászólás alapján a PHP Simple HTML DOM Parser (h**p://simplehtmldom.sourceforge.net/) használatát próbáltam, de nem igazán sikerült még átlátnom.
    Az a probléma, hogy a Yahoo oldala eléggé bonyolult (legalábbis számomra), mivel táblázatos formában jeleníti meg az adatokat más szolgáltatótól beillesztve.

    Találtam már rá egy bejegyzést, valaki szintén ezzel a problémával küzdött, neki egy CURL-os + PHP Simple HTML DOM Parser kombinációt ajánlottak.

    Abban kérném a segítségeteket, hogy milyen módon tudom a két szkript használatával a fent írt 4 féle adatot (vagy az összeset) kiszedni a Yahoo oldalról?

    A fájl csatolás oldalon nem tudtam feltölteni a php fájlt, mert nem működött...
    Ezért alább bemásoltam a cURL-es szkriptet.

    Előre is köszönöm a segítséget!

    A cURL szkript:

    <?php
    include('simple_html_dom.php');
    $search_url = 'https://finance.yahoo.com/quote/AAPL/key-statistics?p=AAPL';

    function bCurl($url) {

    $cookie_file = "cookie1.txt";

    $header = array();
    $header[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
    $header[] = 'Cache-Control: max-age=0';
    $header[] = 'Connection: keep-alive';
    $header[] = 'Keep-Alive: 300';
    $header[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
    $header[] = 'Accept-Language: en-us,en;q=0.5';
    $header[] = 'Pragma: ';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
    curl_setopt($ch, CURLOPT_ENCODING, '');
    curl_setopt($ch, CURLOPT_TIMEOUT, 20);
    $result = curl_exec($ch);
    curl_close ($ch);

    return $result;
    }

    $result = bCurl($search_url);

    $html = new simple_html_dom();
    $html->load($result);

    $keywords = $html->find("meta[name=keywords]",0)->getAttribute('content');

    print_r($keywords);

    ?>



  2. #2
    Hanix72
    Vendég

    Alapbeállítás re: Yahoo Finance oldalról adatok leszedése

    Üdv Mindenkinek!
    Közben rájöttem a megoldásra!
    A Firefox fejlesztőeszközzel az oldal forráskódjában beazonosítottam a tábla cellák kérdéses adat azonosítóit (data-reactid-k) és a CURL.PHP fálj-ba az alábbi sorokat helyeztem el:
    $SharesOutstanding = $html->find('table Fz(s).Fw(500).Ta(end) [data-reactid=346]');
    $HeldByInstitutions = $html->find('table Fz(s).Fw(500).Ta(end) [data-reactid=367]');
    $PriceShalesTTM = $html->find('table Fz(s).Fw(500).Ta(end) [data-reactid=54]');
    $DilutedEPSttm = $html->find('table Fz(s).Fw(500).Ta(end) [data-reactid=189]');



  3. #3
    Bölcs
    Csatlakozott
    07-08-28
    Hozzászólás
    1.030
    Begyűjtött 150 köszönetet
    109 hozzászólásával

    Alapbeállítás re: Yahoo Finance oldalról adatok leszedése

    https://iextrading.com/developer/ itt rengeteg adat van tőzsdei cégekről



  4. #4
    Hanix72
    Vendég

    Alapbeállítás re: Yahoo Finance oldalról adatok leszedése

    Köszi szépen TLof!
    Ezt a címet eddig nem ismertem.
    Átnézem.



Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •