SongJieCN / Yahoo-ticker-symbol-downloader

A web scraper for ticker symbols from yahoo finance

Home Page:https://pypi.python.org/pypi/Yahoo-ticker-downloader/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Yahoo ticker downloader

Produces .csv, .json, .yaml, and .xls files (All files contain same data in a different format) for stocks, ETF, futures, indexes, mutual funds, currency, warrants and bonds. The ticker symbol, company name and exchange are saved.

It gets its data from https://finance.yahoo.com/lookup/. Please note: it is not possible to get all the symbols due to limitations set by Yahoo. About 75%-90% of all symbols are gathered using this script depending on type.

Installation

From python package manager (preferred):

pip install Yahoo-ticker-downloader

From source:

python setup.py install

Running

The first param is one of the following types: stocks etf future index mutualfund currency warrant bond

YahooTickerDownloader.py stocks

The program takes several hours before any output is generated. The program supports suspending and resuming a download. Press CTRL+C to suspend download. Restart the program in the same working directory to resume downloading.

Example of output:

Ticker,Name,Exchange,categoryName,categoryNr
ENZ,"Enzo Biochem Inc.",NYQ,"Medical Laboratories & Research",525
ENZN,"Enzon Pharmaceuticals Inc.",NMS,Biotechnology,515
ENZR,"Energizer Resources Inc.",PNK,,0
EOAA.DE,"E.ON AG",GER,"Diversified Utilities",913
KMX,"CarMax Inc.",NYQ,"Auto Dealerships",744
KMY.MU,KIMBERLY-CLARK,MUN,"Personal Products",323
KN1.DU,ECOUNION,DUS,"Business Software & Services",826
KNCAY,"Konica Minolta Holdings Inc.",PNK,,0
KND,"Kindred Healthcare Inc.",NYQ,"Long-Term Care Facilities",523
KNDI,"Kandi Technologies, Corp",NGM,"Auto Manufacturers - Major",330
...ect

Depending on the type you are downloading, you will between 3.000 and 26.000 entries.

Further resources

Download history for symbols: ystockquote

Changelog

  • Version 0.10.1
    • More descriptive help message
  • Version 0.10.0
    • Removed bond downloading option.
    • Uses different yahoo source. Fixes #18
    • Removed python2 from classifiers. Related to #16
  • Version 0.9.0
    • Added a flag to restrict output to specific stock exchanges.
  • Version 0.8.1
    • Workaround for #7 : downloading interruption
    • Solution for #9 : UnicodeEncodeError
  • Version 0.7.0
    • Added --export option. It will transcode the .pickle file immediately to the desired output formats.
  • Version 0.6.0
    • Add 3 retries with an exponential back-off if HTTPError or ChunkedEncodingError is raised when processing _fetchHtml.
  • Version 0.5.0
    • Allows downloading using a insecure connection.
    • The temporarily download file-names now include the ticker type.
  • Version 0.4.0
    • Warrant symbols can now be downloaded.
    • Bond symbols can now be downloaded.
  • Version 0.3.0
    • Use https instead of http
    • Retry to fetch a page if it contains no symbols (A "fix" for issue #4)
    • Renamed all 'Curreny' to 'Currency'
    • Relative imports are used
    • Fix: .csv file it outputs is encoded in UTF-8 when using python2
    • Performance: Considerable reduced memory consumption
    • It now outputs .json, .yaml and .xls files in addition to .csv

About

A web scraper for ticker symbols from yahoo finance

https://pypi.python.org/pypi/Yahoo-ticker-downloader/

License:Other


Languages

Language:Python 100.0%