A web scraper for ticker symbols from yahoo finance
Project description
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.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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for Yahoo-ticker-downloader-0.10.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e1400efe954cda1b72462f24731e48589b9b232d6442727e731bddbfe9fdf78 |
|
MD5 | 9a083974aad103180799eebd072c9a6a |
|
BLAKE2b-256 | 9e661e65c4d2c6a9338345c27713167261a3e1934e8af8e6916903a32b80ac04 |