Skip to main content

A crawler of YahooFinace's Stock

Project description

YahooFinanceSpider

Intro.

日本のヤフーファイナンスから株価データをスクレイピングするプログラム
jsmがメンテーナンスしていないため,新たなスクレイピングプログラムを作った
jsmを参考した上で,lxmlとmultiprocessingを使って速度を改善した
mutiprocessingパッケージ使ってスクレイピングを加速するので,python3.5以上が必要
スクレイピングはヤフーのサーバに負荷をかけるので,悪意の使用はやめてください

Installation

pip3 install YahooFinanceSpider

Useage

Crawlerインスタンス作成

import YahooFinanceSpider as y
  c = y.Crawler()

このCrawlerインスタンスを使ってデータをダンロードする

銘柄情報の取得

brand = c.get_brand_info(sector_code)

sector_codeは以下のまとめになる

'1050' # 鉱業
'2050' # 建設業
'3050' # 食料品
'0050' # 農林・水産業
'3150' # パルプ・紙
'3200' # 化学
'3250' # 医薬品
'3300' # 石油・石炭製品
'3350' # ゴム製品
'3400' # ガラス・土石製品
'3450' # 鉄鋼
'3100' # 繊維製品
'3500' # 非鉄金属
'3550' # 金属製品
'3600' # 機械
'3650' # 電気機器
'3700' # 輸送機器
'3750' # 精密機器
'3800' # その他製品
'4050' # 電気・ガス業
'5050' # 陸運業
'5100' # 海運業
'5150' # 空運業
'5200' # 倉庫・運輸関連業
'5250' # 情報・通信
'6050' # 卸売業
'6100' # 小売業
'7050' # 銀行業
'7100' # 証券業
'7150' # 保険業
'7200' # その他金融業
'8050' # 不動産業
'9050' # サービス業

株価データの取得

# 日毎のデータを取得
price = c.get_price(code, start_time, end_time, y.DAILY) 

# 週間のデータを取得
price = c.get_price(code, start_time, end_time, y.WEEKLY)

# 月間のデータを取得
price = c.get_price(code, start_time, end_time, y.MONTHLY)

使用例

# 農林水産業の銘柄情報を取得
brand = c.get_brand_info('0050')
# 全銘柄情報を取得
brand = c.get_brand_info()
# リストからインスタンスを取り出す
for i in brand:
  print(i.code) 
from datetime import datetime
start_time = datetime(2018,1,1)
end_time = datetime(2018,8,8)

# 上記期間の銘柄コード1301会社の株価データを取得
# 全銘柄の銘柄コードはget_brand_info()で獲得できる
  price = c.get_price('1301', start_time, end_time, y.DAILY)
# リストからインスタンスを取り出す
  for i in price:
    print(i.close) 

DataType

get_brand_info()の返すDataType

Brand

Brand.code      # 銘柄コード
Brand.market    # 市場
Brand.brand     # 銘柄名
Brand.intro     # 銘柄情報

get_price()の返すDataType

Price

Price.date      # 日時
Price.open      # 始値
Price.high      # 高値
Price.low       # 安値
Price.close     # 終値
Price.volume    # 出来高
Price.adj_close # 調整後終値

データが無いとき,Noneを返す

TopixPrice

TopixPrice.date      # 日時
TopixPrice.open      # 始値
TopixPrice.high      # 高値
TopixPrice.low       # 安値
TopixPrice.close     # 終値

データが無いとき,Noneを返す

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

YahooFinanceSpider-0.3.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

YahooFinanceSpider-0.3-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file YahooFinanceSpider-0.3.tar.gz.

File metadata

  • Download URL: YahooFinanceSpider-0.3.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for YahooFinanceSpider-0.3.tar.gz
Algorithm Hash digest
SHA256 ccf37dcee33759d8880d53cfd50df123ae9eabd53050b649166afae9761af060
MD5 e4cfd8991c8e5bc9f35641afaf9dd593
BLAKE2b-256 cc95d252178831e3b793d09e6dc9a897b14588d7854c10b1058fbf95ee4b8dcf

See more details on using hashes here.

File details

Details for the file YahooFinanceSpider-0.3-py3-none-any.whl.

File metadata

  • Download URL: YahooFinanceSpider-0.3-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for YahooFinanceSpider-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d81cd2cf032804fb71f36772e07244bf534faddc804698c97b739cb3c41e7afc
MD5 aaea8959f94166242fe52b41693b9147
BLAKE2b-256 3f2548dad7b43f5d1bcb721bfd0e31e505f36f6febc53000ad9e0fd07cfe59d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page