Python Download Osakeoptiot
Kun aiot työskennellä tällaisten aikasarjojen kanssa Pythonissa, pandat ovat välttämättömiä. Ja silti hyvä uutinen: se sisältää Yahoo: n historiallisen tietojen lataajan: pandas. io. data. DataReader. Päivitys pandas 0.19: pandas. io. data moduuli on poistettu pandasgt0.19 lähtien. Käytä sen sijaan erillistä pandas-datareader-pakettia. Asennetaan: Ja sitten voit tehdä sen Pythonissa: vastattu 20.09. Klo 10:05 Kun yritän sitä, tuonti toimii hyvin, mutta kun soit 39goog39-riville, saan virheen: quotIOError: 3 yrittämän jälkeen Yahoo ei palauta 200 url: lle 39ichart. finance. yahoohellip Kuinka tämä voitaisiin vahvistaa ndash Cleb 25 elokuu 15 15:01 Sama kuin Cleb. Ei palannut 200 tilakoodia ndash bluerubez 28.10. Klo 15:55 Cleb Näyttää olevan, koska API ei hyväksy GOOG: ta (ei ymmärrä, miksi Googlen kirjaimen siirtymisen jälkeen pidettiin). Sopii hyvin GOOGL: lle ja muille symboleille. Esimerkki säädetty vain tapauksessa. ndash DefOs 28.10. klo 02:10 DefOss-vastauksen laajentaminen todellisella demolla. Kuten DefOs on jo sanonut - Pandas Datareader tekee tästä tehtävästä todellisen hauskan, joka vie kaikki käytettävissä olevat historialliset tiedot AAPL: lle vuodesta 1980-01-01 tallentaa kaikki tiedot CSV-tiedostona d: tempaapldata. csv - 5 ensimmäistä riviäOlen kiinnostunut tekemään ekonometristä analyysia johdannaisista. Olen hämmästynyt, että minulla ei ole hyviä vapaita resursseja (ainakin tiedän) historiallisista vaihtoehdoista. Tästä syystä haluan luoda oman henkilökohtaisen tietokannan historiallisista vaihtoehdoista. Olen rikkonut tämän projektin kolmeen tärkeimpään esteeseen: Kuvaa, miten saada python-asetustiedot Valitse tietomuodostus Automaattinen päivittäisten tietojen kokoelma Opintojen tietojen hankkiminen Pythonissa kesällä minulla oli vapaa-aikaa ja liittyi yhteen isä luoda sijoitusmallin. Vaikka se on hyvin yksinkertainen malli, tämä viesti koskee tietokannan rakentamista, joten aion mennä yksityiskohtiin tänne. Riittää sanoa, että minun tarvitsin löytää keino saada optio-tiedot yahoo Financeilta. Tämä oli ainutlaatuinen haaste, sillä toisin kuin pääoman tiedot tai muiden lähteiden kuten FREDin tiedot, optio-ohjelmilla ei ole kätevää latausta csv-painikkeeseen missä tahansa verkkosivustossa. Tuolloin luki Wes McKinneyn erinomaista kirjaa Python for Data Analysis ja sai käsityksen siitä, miten toteuttaa perus-indeksoija jäsentämään html-koodia yahoo: ssa ja palauttamaan tiedot python-ystävällisessä muodossa. Pitkä tarina lyhyt, kirjoitin jonkin koodin tekemään juuri tämän ja se tuli pandas-kirjaston versioon 0.9 (jos et tunne pandoja ja käytät tietoja pythonissa kannattaa tarkistaa se). Nyt vain nämä muutamat komennot ovat tarpeen, jotta saat lisätietoja datasta yahoo Finance: Puhelut ja asetetaan kohteet ovat pandas DataFrames, jotka sisältävät samat tiedot, jotka löydät yahoo Finance - sivulla Apple Inc. - vaihtoehdoista. Tiedostomuodon valitseminen Tiedostomuodon keräämisessä minulla oli kaksi keskeistä näkökohtaa: tiedoston koko ja nopeus, jolla se voidaan kirjoittaa. Testausta varten kirjoitin yksinkertaisen komentosarjan, joka synnytti satunnaisen 4000-4000 numpy-matriisin ja määritellyt toiminnot kirjoitettaessa ja lukemalla kyseiset tiedot eri tiedostomuodoissa. Tyylit, joiden valitsin toimimaan, olivat csv, hdf5 (.h5) ja MatLab (.mat). Alla on käsikirjoitus, jota käytin testin suorittamiseen: Kun minulla oli tämä koodi, pudotin iPythonin ja suoritin tiedoston (filetest. py) ja käytin timeit-taikaa nähdäksesi kuinka kauan kumpikin näistä kolmesta menetelmästä lukea ja kirjoittaa tiedot. Ajoitustulokset ja lopulliset tiedostokoot on esitetty alla olevassa taulukossa: On helppoa nähdä, että hdf5-tiedostotyyppi on paras valinta mihinkään tarkoitukseen. Haluaisin tässä huomauttaa, että syy siihen, että hdf5-tiedostomuoto on 12.mat-tiedoston koko, johtuu siitä, että. tv-tiedoston dtype on 32-bittinen float, kun taas. mat dtype on 64-bittinen float. Optio-oikeuksien osalta meillä on kuitenkin yleensä vain kaksi desimaalia, joten 32-bittinen tarkkuus on runsaasti. Tietojen haku automatisointi Lopullinen askel tämän tietokannan käynnistämisessä oli automatisoida tiedonhaun prosessi. Tätä varten käytin suosittua UNIX-aikataulutustyökalua cron. Käytän OSX 10.8 Mountain Lion - ohjelmaa ja oletuksena 10.8: ssä cron-työkalu on poistettu käytöstä. Voit korjata tämän yksinkertaisesti suorittamalla seuraavan komennon terminaalissa: Tämä komento luo etccrontab-tiedoston (jos se ei ole olemassa) ja saa sen valmiiksi käytettäväksi cron: lla. En anna yksityiskohtaista selvitystä siitä, miten käyttää Cronia tässä (koska olen vielä melko uusi itsessäni), mutta googling siitä antaa sinulle paljon esimerkkejä ja tutoriaaleja. Haluan kuitenkin antaa rivin crontab-tiedostoni, joka suorittaa komentosarjan: Seuraava vaihe oli kirjoittaa käsikirjoitus, jolla olisin saanut cron-puhelun. Tämä näkyy alla. Minulla on cron suorittaa tämä kirjoitus tiettynä ajankohtana joka viikko-päivä ja täyttää hdf5-tiedosto. Tuloksena olevassa tiedostossa on tällainen sisäkkäinen rakenne: Merkintä CTICKmm-yy tarkoittaa puheluvalitsinta (C), annettua tickeria (TICK) ja vaihtoehdon päättymistä (mm-yy). Jokaisessa datasetissä on kolme saraketta: lakkohinta, viimeinen optiosopimusten hinta ja viimeisen kaupankäyntipäivän volyymi. Kun tämä skripti oli suoritettu yönä, tuloksena oleva hdf5-datatiedosto oli 7.648648 MB. Jos annan tämän tiedoston toimimaan jokaisena pankkipäivänä vuodessa, lopullinen tiedostoko on alle 2 gigatavua. Ei huono Jos haluat lisätietoja siitä, miten kerään ticker nimet tai mitä Options-toimintoja on pandas 0.10 tai aikaisemmin jättää kommentin ja Ill teen parhaani vastata. Mahtavaa olen halunnut tehdä jotain tällaista, koska haluan myös testata joitakin strategioistani. Sinun pitäisi todennäköisesti vaihtaa optioita tuoda Options39-39 pandas. io. data tuonti Options39, mutta muuta kuin, että komentosarja toimii hyvin. Haluatko halutessasi jakaa tähän mennessä kerätyt optio-tiedot, voisin ottaa vastaan edun toimimalla varmuuskopioksi komentosarjan suorittamiseen, jos menetät yhteyden muutaman päivän ajan. Olin harkinnut karkeasti testausta Black8211Scholen avulla tuotetuilla hinnoilla, mutta todelliset tiedot ovat tietenkin parempia. Pidän siitä, että pidät käsikirjoituksesta. Olen tosiasiassa lopettanut tiedostojen käytön joka yö, joten minulla ei ole liikaa tietoa. Muuten haluan jakaa sen kanssasi. Tuonti-ilmoitusten osalta. Olen opettajien Options-luokan kirjailija. Tämän blogikirjoituksen kirjoittamishetkellä joitain komentosarjan käyttämiä toimintoja ei ole yhdistetty pandojen julkaistuun versioon, joten soitin paikallinen versio (tiedostossa nimeltä vaihtoehtona), johon perustin pandas-version FYI: There ovat itse asiassa joitain API-muutoksia, jotka tapahtuvat pandojen Options-luokan kanssa juuri nyt. Jos muutokset tapahtuvat tavalla, jolla toinen mainostaja on ehdottanut, suurin osa koodin koodista saattaa olla vanhentunut. Ainakin pitäisi saada ihmisiä alkamaan. Olen luomassa suuri johdannaistiedosto. Yhteyksien jäsentäminen on valmis. Minulla on vähän menetetty, miten luoda tietokanta kaikista yksittäisistä vaihtoehdoista sellaisella tavalla, joka mahdollistaa SKEW: n kaltaiset laskelmat jne. Ilman manuaalisesti yksittäisten vaihtoehtojen valitsemista joka kerta laskennan tekemiseen. Kuinka tehdä tällaiset yleiset viitteet. Olen vähän hukannut täällä ja haluaa lajitella sen ensin ennen tietojen luomista eteenpäin. Uskon, että palautusikkunassa on oikea järjestys, kutsutaan aapl. getoptionsdata (). Hei Martin, olet oikeassa. Kun alun perin lisäsin vaihtoehtojen keräämisen koodin pandasiksi, minulla oli getoptionsdata-paluupuhelut ensin. Etkö ole varma, milloin joku muutti sitä. Päivitin koodin viestiin, jotta voin käyttää oikeita paikkoja, soita tilaamalla nyt. Minusta tämä olisi kuitenkin hyödyllistä ladata vaihtoehtoja hintoja. Aluksi käytin käsikirjoitusta, jonka annoit yllä (melko paljon). Minulla on pandas 0.13.1, mutta se tuntuu täysin rikki. Virheitä esiintyy seuraavalla rivillä: rawcalls option. getforwarddata (months100, callTrue, putFalse, nearFalse, yläpuolella6). Koska haluan saada kaikki vaihtoehtoiset tiedot, minun täytyy käyttää getforwarddata-menetelmää. Muut menetelmät näyttävät vain tukevan tietyn kuukauden saamista. Virhe on melko pitkä, mutta viimeiset parit ovat: Tiedosto quotusrlocallibpython2.7dist-packagespandasioparsers. pyquot, rivin 1653, seuraavalla rivillä raise StopIteration StopIteration Tietääkö kukaan miten korjata tämän Myös minä käytän Ubuntu Linuxia. Uskon, että Pandasin versio 0.11 toimi hieman, vaikka se ei olisi saanut kaikkia vaihtoehtoja. En ole varma, kuinka käyttää pipia alaspäin tässä vaiheessa joko niin olen todennäköisesti jumissa yrittää saada versio 0.13.1 toimivat. Hei Anonyymi (pahoillani ei tiedä nimeäsi tai jos se on Anonymous - se on mahtava) Valitettavasti nämä toiminnot eivät toimi kunnolla. Kirjoitin koodin noin vuosi sitten ja silloin tämä toimi ilman mitään ongelmia. Pandas on raskaassa kehityksessä ja tuntuu siltä, että koska olen kirjoittanut tämän koodin, api on mennyt läpi eräitä muutoksia. Valitettavasti minulla ei ole aikaa nyt mennä läpi ja vaihtaa koodia tästä postista niin, että se toimii 0.13: lla. Voin sanoa, että kaikki tämän viestin kuvatut toiminnot ovat edelleen olemassa v0.13: n kanssa, mutta jotkin menetelmän allekirjoitukset ovat saattaneet muuttua. Uskon, että Options-luokan jokaisen menetelmän oppilaille olisi annettava riittävän yksityiskohtaiset tiedot, jotta saat melko hyvän käsityksen siitä, mitä on muutettava. löydät ne täältä: githubpydatapandasblobmasterpandasiodata. pyL545-L905 Jos tunnet itsesi ja pääset tekemään tarvittavat muutokset, kerro minulle ja päivitän koodi täällä vastaamaan niitä. Loppusanat jos annat sen kokeilla ja kova aika, lähetä täällä uudelleen ja yritän antaa ohjeita. Olen ollut kiireinen toisen projektin kanssa, mutta pohjimmiltaan tein pari muutosta saadaksesi asioita käynnissä. Yksinkertaisuuden vuoksi olen juuri tehnyt muutokset data. py. Luulen, että huomenta - ja vuosi-indeksit laskettiin väärin. Myös joissakin tapauksissa kehys ei anna mitään. kehyksen palautus Ei mitään aiheuttanut kaatumista. Jos jollalla on aikaa, koodin päivittäminen kysyy vain optio-tietoja, jotka ovat todellisuudessa olemassa kuluneen ajanjakson aikana. En ole varma, miten jäsennät nämä tiedot HTML: stä. Tällä hetkellä Yahoo kysyy kutakin kuukausittaista dataa, vaikka getforwarddata-menetelmää ei ole saatavilla kyseisen kuukauden aikana. Tässä on linux diff-ulostulo tehdyistä muutoksista: diff pandasiodata. py pandas.01iodata. py 25d24 lt DEBUG True 538,541d536 lt lt (len (data) 0): lt return Ei mitään 590,595c585 lt try: lt self. symbol symbol. upper () lt lukuun ottamatta: msg msg-symbolin on oltava kelvollinen merkkijono lt nostaa ValueError (msg) lt --- gt self. symbol symbol. upper () 860,866c850,861 lt lt inyears lt varten i, m luetellaan (kuukaudet 1) gt gt Toteuta, kuinka monta kohdetta kuukausina kuluu 12 gt: n välillä Vaihtopäivä (m-1) 12 lt mk - vuotta12 l inyears. append (yearsCURYEAR) lt inmonthsimon --- gt lukuvuosi CURYEAR 0 gt i i: n alueella (kuukausina): gt jos inmonthsi gt 12: gt inmonthsi - 12 gt tochange 1 gt gt Muuta vastaavat kohteet inyears - luettelossa. (1, vaihtokyky 1): gt - vuotia-i 1 875,878 c870,873 litraa i: n alueella (kuukausina): lt m2: n summa y2 inyearsi lt, jos DEBUG: print quotGetting s: ssquot (self. symbol, m2, y2) --- gt, mon, alue (kuukaudet): gt m2 inmonthsmon gt y2 inyearsmon gt 892,895d886 lt jos kehys on Ei mitään: if if DEBUG: print 39. ei dataa 39 lt jatkuu lt Kiitos, . Näyttää siltä, että se on tällä hetkellä rikki - ehkä layoutschema muutos yahoo (se on tableloc 13 puhelun getoptiondata ()) I39ll debug sen kun minulla on aikaa, tässä yksityiskohtia tähän asti: Liittyy pydev debugger (rakentaa 135.1057) Traceback (viimeisin viimeisimmän puhelun viimeinen): Tiedosto quotusrsharepycharmhelperspydevpydevd. pyquot, rivin 1733, debugger. run (setup39file39, None, None) Tiedosto quotusrsharepycharmhelperspydevpydevd. pyquot, rivillä 1226, suoritetaan pydevimports. execfile (tiedosto, globals, locals) viivalla 5, laittaa puhelut, kutsuu aapl. getoptionsdata (expirydate (2015, 1, 16)) Tiedosto quotusrlibpython2.7dist-packagespandasiodata. pyquot, rivi 630, getoptionsdata self. getcalldata) Tiedosto quotusrlibpython2.7dist-packagespandasiodata. pyquot , linja 748, getputdata palauttaa self. getoptiondata (kuukausi, vuosi, päättymisaika, 13, 39puts39) Tiedosto quotusrlibpython2.7dist-packagespandasiodata. pyquot, rivin 673, getoptiondata quot foundquot. format (tableloc, nt (15AAPL39, quotyahooquot) laittaa, soittaa aapl. getoptionsdata (expirydate (2015, 1, 16)) In3: Taulukon sijainti 13 kelpaa, 3 pöytää löytyy pandas. io. data tuonnista Asetukset datetime import date aapl tuontipandat In4: pandas. versio Out4: 390.13.139 Hei, kiitos kommentista. Tämä koodi on nyt rikki johtuen Yahoo Finance API: n muutoksista. Uskon, että pandojen kehittäjät ovat alkuperäisen koodin, jonka annoin heille. Katso asiaa koskeva keskustelu täältä: githubpydatapandaspull8631 Hi Spencer anteeksi nimettömälle kysymykselle, mutta kun suoritit tämän ohjelman kaikille NASDAQ - ja NYSE-symbolien listoille, kuinka kauan aikaa oli koko iterointi. Anonyymi - ei ole ongelma. Tämä rutiini kestää melko kauan. Todennäköisesti 6-8 tunnin järjestyksessä. Sitä voitaisiin hieman nopeuttaa tekemällä useampia pyyntöjä kerralla käyttäen tavanomaisen kirjaston kierrätys - ja jono-moduuleja. Minulla on esimerkki tästä tavallisella pääomatiedolla täällä: gist. githubspencerlyon28a90d9fdffd15e3ecddb Spencer - Olen hyvin uusi python ja ohjelmointi yleensä, mutta se on voimakas ja mielenkiintoinen pieneen tutkimustyöhön, jonka olen tehnyt. Tähän mennessä olen koonnut hyvin yksinkertaisen ohjelman tekemään jotain vastaavaa. Tämä on mitä olen tähän mennessä: tuonti datetime kuten dt tuontipandat pd tuonti numpy kuin np pandas. io. data tuonti Valinnat pandas tuonti DataFrame tuonti h5py kuin h5 numero 0 newdatapd. DataFrame () kun num lt tickers. size: yritä: itickers39Symbol39num options Asetukset (i, quotyahooquot) data options. getoptionsdata () newdatanewdata. append (data) paitsi: pass print num numnum1 Tunneleilulistallani on 6280 symbolia tai niin, ja huomasin, että getoptionsdata toimii paljon nopeammin kuin getalldata-menetelmä. Juuri nyt tämä kestää noin 3 tuntia. Tavoitteenani on leikata se 16 vuoteen. Se on edelleen hyvin perusvaiheissa, mutta se toimii ja kerää tietoja, jotka sisältävät sitä. Jos sinulla on vinkkejä tai ehdotuksia suorituskyvyn parantamiseksi, kaikki korvat. Tiedän, että silmukkarakenne ei ehkä ole tehokkain, mutta minulle kaiken on kokeilu ja virhe. Jos tämä on vähäpätöinen ja tai typerä kysymys, anteeksi, Jälleen, olen uusi ja oppiminen. Kuvittelisin, että tämän ohjelman pullonkaula (hidas osa) hakee tietoja verkosta. Normaalikirjaston jono - ja päänvientityökalujen käyttäminen kuten esimerkissä, jonka lähetin linkin, on todennäköisesti paras tapa nopeuttaa tätä osaa. Toinen suhteellisen yksinkertainen tapa tehdä rinnakkaista tiedonhakua on kirjoittaa funktio, joka saa tiedot yhdelle luettelolle. Sitten voit käyttää jotain kuten IPython-rinnakkaista kartoittaaksesi funktiota listojen listan rinnalle. Esimerkki kartan käyttämisestä rinnakkain löytyy täältä: ipython. orgipython-doc2parallelparalleldemos. html Muuten yksittäinen silmukka ei tosiaankaan ole se, mikä vie tämän koodin kauan aikaa - joten älä huoli siitä. Olen pahoillani, mutta en ole käynyt tällä koodilla yli 2 vuoden ajan. Pandas liikkuu melko nopeasti, joten ei yllättävää, että tässä viestissä oleva koodi ei toimi. Minulla ei tällä hetkellä ole aikaa debugella käsikirjoitusta, mutta ehdotan, että tarkastelemme pandas-dokumentaatiota nykyisestä vaihtoehtorajapinnan ominaisuuksista. Löydät sen täältä pandas. pydata. orgpandas-docsstableremotedata. htmlyahoo-finance-options. Tunneleiden luetteloita varten. Sain heidät näistä kahdesta urlista: en tiedä niin paljon ohjelmoinnista, mutta minulla on paljon vuosittaisia symbolitiedostoja intradata. co: lta, mutta minun on oltava esimerkiksi vuosi 2012-2015 samassa tiedostossa. Koska haluan piirtää sen ohjelmistomme, kuten laajennetun kaavion, on mahdollista tehdä tämä skriptiLataa uusin versio Mac OS X: lle Lataa viimeisin lähdekoodi Lataa viimeisin versio Windows-ohjelmista Lataa uusimmat Python OpenPGP Public Keys Source - versiot ja binääriset suoritustiedostot on allekirjoitettu julkaisunhallinnassa käyttäen OpenPGP-avaintaan. Julkaisupäälliköt ja binäärirakentajat Python 2.3: n jälkeen ovat: Huomautus: Barrys-avain tunnuksella A74B06BF käytetään allekirjoittamaan Python 2.6.8- ja 2.6.9-versiot. Hänen avaimensa EA5BBD71 käytettiin allekirjoittamaan kaikki muut Python 2.6 ja 3.0 julkaisut. Hänen tunnus ID ED9D77D5 on v3-avain ja sitä käytettiin allekirjoittamaan vanhat julkaisut. Voit tuoda julkaisun hallinnan julkisia avaimia joko lataamalla julkisen avaimen tiedoston täältä ja sen jälkeen suorittamalla tai tarttumalla yksittäisiin avaimiin suoraan avaimen palvelinverkosta suorittamalla komennon: Versioihin liittyvissä lataussivuissa sinun pitäisi nähdä linkki sekä ladattavissa oleva tiedosto ja erillinen allekirjoitustiedosto. Jos haluat tarkistaa latauksen aitouden, naputa molemmat tiedostot ja suorita tämä komento: Huomaa, että sinun on käytettävä allekirjoitustiedoston nimeä ja käytä sitä, joka sopii lataukseen, jonka olet tarkistanut. (Nämä ohjeet on suunnattu GnuPG - ja Unix-komentoriville. Muiden alustojen ja OpenPGP-sovellusten käyttöohjeet ovat tervetulleita.) Muita hyödyllisiä kohteita Etsitkö kolmannen osapuolen Python-moduuleja. Pakkausindeksissä on monia niistä. Voit tarkastella vakioasiakirjoja verkossa tai ladata sen HTML-, PostScript-, PDF - ja muissa muodoissa. Katso tärkeimmät dokumentaatiosivut. Python. org-sivustolla annetut arkistotiedostojen purkamisen työkalut ovat käytettävissä. Vinkki. vaikka lataat valmis binääri foorumiisi, on järkevää ladata myös lähde. Tämän avulla voit selata vakiokirjastoa (alihakemisto Lib) ja demoja (Demo) sekä työkaluja (työkaluja), jotka tulevat sen mukana. Sieltä löytyy paljon Emacs-paketteja, jotka Emacsing Pythoneer saattaa löytää hyödyllisiltä. Tämä sisältää tärkeimmät liikennemuodot Python-, C-, C-, Java - jne. Editointiin. Python-debugger-rajapinnat ja paljon muuta. Useimmat paketit ovat yhteensopivia Emacsin ja XEmacsin kanssa. Haluatko osallistua Haluatko osallistua Katso Python-kehittäjien oppaasta, miten Python-kehitystä hallitaan. Saat meillä on hyvin yksinkertainen tehtävä ladata vanhoja tietoja Yahooista, let8217s näkee, voimmeko käyttää samaa tekniikkaa ladata tietoja Googlelta Rahoittaa. Jos päätämme Googlen rahoituksen pääsivulle ja nostamme tarjouksen AAPL: lle, näemme linkin historiallisiin hintoihin vasemmassa yläkulmassa. Napsauttamalla tätä linkkiä näytetään historiallinen hintasivu. Oletusarvoisesti sivu näyttää tyylikkäästi muotoillun hinnoittelutaulukon, jossa viimeisin hinta on sivun yläosassa. Huomaa, että on mahdollista valita kahden hinnan päivämäärät, ja kuten Yahoo, on linkki ladata tiedot laskentataulukkoon. Nyt me valitsemme ajanjakson (tässä tapauksessa 1. marraskuuta 8211, 30. marraskuuta) ja klikkaamme päivityspainiketta. Sitten voimme ladata tiedot linkin kautta sivun oikealla puolella. Oletuksena se latautuu 8220data. csv8221. Päädytään seuraaviin tietoihin: Nämä tiedot näyttävät hyvin samalta kuin Yahoo-tiedot, mutta ilman tarkennettua sulkemista. Näyttää siltä, että Google säätää meille hintoja, joten meidän ei tarvitse. Huomaa myös, että päivämäärät on muotoiltu eri tavalla. Sen pitäisi olla erittäin helppo muuntaa vakiomuotoiluksi, jonka olemme määrittäneet edellisessä viestissä Lainat-luokassa. Nyt meidän on syytä tulkita linkki, jota käytetään tiedon saamiseen. Kopioimme linkin napsauttamalla sitä hiiren oikealla painikkeella ja valitsemalla 8220Copy-linkin osoite8221 ja päätymällä seuraaviin: Meillä on kyselyvaihtoehdot: cid, startdate, enddate, num ja output. Tarkastele päivämääräarvot. What8217 on prosenttilukujen kanssa aina kun näet 82208221 merkkiä url: ssa, se tarkoittaa, että sitä on url-koodattu. Haettaessa googlea, voimme helposti löytää monia sivustoja, jotka koodata ja purkaa url-merkkijonoja. Dekoodaamalla raaka url-merkkijono päädytään: Tämä on paljon helpompi selvittää. On vain yksi ongelma. Mikä on cid Todennäköisesti jonkinlainen tietokannan tunnus. Tarkastelemalla pääsivun kyselyjonoa voimme kuitenkin nähdä, että se käyttää 8220q8221-vaihtoehtoa, joka ottaa vaihdon ja symbolin nimen. Pelatessani näiden parametrien eri yhdistelmiä, huomasin, että voimme käyttää q-vaihtoehtoa ilman vaihtoa, eikä num-vaihtoehto näytä tarpeelliselta. Voimme yksinkertaistaa url-merkkijonoa: Ainoa asia, joka on jäljellä nyt, on alaluokkaa alkuperäiseen Lainausluokkaamme ja muokata sitä rakentaa url-merkkijono ja muuntaa päivämäärät yhteiseen muotoon. Tässä olen päätynyt: Tämä on jopa yksinkertaisempi kuin Yahoo-versio. Säädettyjä hintoja ei tarvitse laskea. Tärkein ero on eri url-muoto ja aikamuoto. Voit ladata tiedoston Lainat-luokkaan ja muutamiin komentokehotteihin täältä: google. py Tulevassa postissa luodaan kaikki nämä luokat ja luodaan Python modulecommand - line-apuohjelma, jotta voimme ladata historiallisia tietoja näistä eri lähteistä. levyä johdonmukaisessa muodossa. Pysy kanavalla
Comments
Post a Comment