一只爬虫
YahooFinanceSpider的Python项目详细描述
YahooFinanceSpider
Intro.
从日本的ヤフーファイナンス剪辑股价数据的程序
jsm因为没有维护,所以制作了新的扫描程序
参考了jsm,使用lxml和multiprocesing改善了速度
因为使用mutiprocessing包装加速剪切,所以需要python3.5以上
因为刮刀会对雅虎服务器造成负荷,所以请不要恶意使用
Installation
pip3 install YahooFinanceSpider
Useage
制作Crawler实例
importYahooFinanceSpiderasyc=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()# リストからインスタンスを取り出すforiinbrand:print(i.code)
fromdatetimeimportdatetimestart_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)# リストからインスタンスを取り出すforiinprice: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
^{pr 10}无数据时,返回None