python 从YAHOO Finance获取股票公司摘要

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 从YAHOO Finance获取股票公司摘要相关的知识,希望对你有一定的参考价值。

import html
import requests
from bs4 import BeautifulSoup

def boolify(s):
    if s == 'True':
        return True
    if s == 'False':
        return False
    raise ValueError("huh?")

def autoconvert(s):
    for fn in (boolify, int, float):
        try:
            return fn(s)
        except ValueError:
            pass
    return s


def extract_key(key, json_text):
    m = re.search(r"\"%s\":[\"]?([^\"\{\}]+)[\"]?" % (key,), json_text)
    if m:
        # Ugly, yes.
        return autoconvert(html.unescape(m.group(1)).replace("\\u002F", "/").strip(","))
    else:
        return None


def company_info(symbol):
    """
        Fetch info from yahoo finance for a company.
    """
    page = requests.get(f"https://finance.yahoo.com/quote/{symbol}/profile?p={symbol}")
    soup = BeautifulSoup(page.content, 'html.parser')
    script = soup.find("script", text=re.compile("address1"))
    json_text = script.text
    key_set = ['website',
               'address1',
               'address2',
               'city'
               'state',
               'country',
               'zip',
               'phone',
               'longBusinessSummary',
               'sector',
               'industry',
               'fullTimeEmployees',
               'longBusinessSummary']
    return {k: extract_key(k, json_text) for k in key_set}


以上是关于python 从YAHOO Finance获取股票公司摘要的主要内容,如果未能解决你的问题,请参考以下文章

yahoo Finance api 股票是不是返回股票期权数据?

如何从Yahoo Finance中解析类似JSON的数据?

Yahoo Finance API 股票/股票代码查找只允许完全匹配

在 Yahoo! 上通过“data-reactid”查找元素金融[关闭]

用 Python 通过雅虎财经获取股票数据

股票编程之股票历史数据获取