标签: yahoo-finance

从雅虎财经中抓取股票代码的Python代码

我有超过 1000 家公司的列表,我可以用它们来投资。我需要所有这些公司的股票代码 ID。当我尝试剥离汤的输出以及尝试循环所有公司名称时,我发现了困难。

请参阅该网站的示例:https://finance.yahoo.com/lookup?s=asml。我的想法是替换 asml 并放入'https://finance.yahoo.com/lookup?s='+ Companies.,这样我就可以循环遍历所有公司。

companies=df    
        Company name
    0   Abbott Laboratories
    1   ABBVIE
    2   Abercrombie
    3   Abiomed
    4   Accenture Plc
Run Code Online (Sandbox Code Playgroud)

这是我现在拥有的代码,其中剥离代码不起作用,并且所有公司的循环也不起作用。

#Create a function to scrape the data
def scrape_stock_symbols():
  Companies=df
  url= 'https://finance.yahoo.com/lookup?s='+ Companies
  page= requests.get(url)

  soup = BeautifulSoup(page.text, "html.parser")
  Company_Symbol=Soup.find_all('td',attrs ={'class':'data-col0 Ta(start) Pstart(6px) Pend(15px)'})

  for i in company_symbol:
       try:
       row = i.find_all('td')
       company_symbol.append(row[0].text.strip())
    
     except Exception: 
      if company not in company_symbol:
        next(Company)

  return (company_symbol)

#Loop through every company in companies to get all …
Run Code Online (Sandbox Code Playgroud)

web-scraping yahoo-finance

1
推荐指数
1
解决办法
3771
查看次数

为什么通过 beautiful soup 网络抓取股票价格返回的价格与雅虎财经页面上的价格不同?

我正在尝试编写一个程序,该程序将为我提供一些不同股票的股价,但是当我运行我的程序时,它返回 116.71,而雅虎财经在页面和 HTML 中将其显示为 117.96(在写这个)。知道发生了什么事吗?页面在这里。代码如下:

from bs4 import BeautifulSoup
import requests


url = 'https://finance.yahoo.com/quote/VTSAX?p=VTSAX&.tsrc=fin-srch'
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
price = soup.find('fin-streamer', {'class': 'Fw(b) Fz(36px) Mb(-4px) D(ib)'}).text

print(price)
Run Code Online (Sandbox Code Playgroud)

python beautifulsoup web-scraping yahoo-finance

1
推荐指数
1
解决办法
867
查看次数

YQL财务数据不可用

我已经在这方面工作了一个星期,无法从YQL控制台获取certin数据.我想要改变汇率.它似乎在雅虎这里工作,http://uk.finance.yahoo.com/q?s = GBPUSD = X,但不是在这里,select * from yahoo.finance.quotes where symbol in ("GBPUSD=X")

有人有任何解决方案?

json yql yahoo-finance

0
推荐指数
1
解决办法
4632
查看次数

将.csv从yahoo finance转变为使用Python的列列表

我试图以.csv的形式从雅虎财经中提取数据,然后将第1列和第5列转换为Python中的列表.如果先前已经下载了.csv,那么将列转换为列表的代码部分是有用的,但我正在尝试做的是直接将数据从url获取到Python中.

我得到的错误是"属性错误:'模块'对象没有属性'请求'." 这是代码:

import urllib

def data_pull():
#gets data out of a .csv file from yahoo finance, separates specific columns into lists

    datafile = urllib.request.urlretrieve('http://ichart.finance.yahoo.com/table.csv?s=xom&a=00&b=2&c=1999&d=01&e=12&f=2014&g=m&ignore=.csv')
    datafile = open(datafile)

    datelist = [] #blank list for dates
    pricelist = [] #blank list for prices
    for row in datafile:
        datelist.append(row.strip().split(","))
        pricelist.append(row.strip().split(","))

    datelist = zip(*datelist) #rows into columns
    datelist = datelist[0] #turns the list into data from the first column

    pricelist = zip(*pricelist)
    pricelist = pricelist[4] #list gets data from the fifth column

    print …
Run Code Online (Sandbox Code Playgroud)

python csv list urllib yahoo-finance

0
推荐指数
1
解决办法
827
查看次数

javascript:从数组中转换货币的简洁方法

伙计们!目前我已经写了下面的代码,它将一种货币转换成另一种货币,但问题是我在switch块中逐个定义每种货币,

如果我有100种货币要转换那么我必须写100个开关案例有没有我可以使这下面的代码动态和短?

var currencies = {};

$(document).ready(function(){
    yahoo_getdata(); 
});
    function yahoo_getdata() {   
    var a = new Date();
    var b = "http://someAPIurl.com/webservice/v1/symbols/allcurrencies/quote?format=json&random=" + a.getTime() + "&callback=?";
    $.getJSON(b, function (e) {
        if (e) {
            var i, l, r, c;
            r = e.list.resources;
            for (i = 0, l = r.length; i < l; i += 1) {
                c = r[i].resource.fields;
                //console.log(c.name, c.price);
                switch (c.name) {
                    case "USD/EUR":
                        currencies.EUR = c.price;
                        console.log('USD/EUR = ' + c.price);
                        break;
                    case "USD/USD":
                        currencies.USD = c.price; …
Run Code Online (Sandbox Code Playgroud)

javascript jquery yahoo-finance

0
推荐指数
1
解决办法
589
查看次数

XPath 查询以使用 importxml 在 Google Sheets 中提取当前价格、交易量和平均交易量

我正在尝试从 Yahoo Finance 导入 Google 表格中的股票实时价格、实时交易量和平均交易量,但不确定 XPath 是否用于相同的用途。

例如,对于 URL

https://sg.finance.yahoo.com/quote/AMZN

under summary tab:
realtime price: 1910.21
volume: https://sg.finance.yahoo.com/quote/AMZN
avg. volume: 4,406,091
Run Code Online (Sandbox Code Playgroud)

在这里我尝试修改下面的代码但不确定 XPath

=INDEX(IMPORTXML("https://sg.finance.yahoo.com/quote/AMZN","//div[@id='quote-header-info']/div[last()]/div[1]"),1)
Run Code Online (Sandbox Code Playgroud)

xpath google-sheets yahoo-finance google-sheets-importxml

0
推荐指数
1
解决办法
2916
查看次数

ImportXML 未生成正确的值

我正在按照以下教程将股票期权数据导入 Google 工作表。

https://www.youtube.com/watch?v=Be7z9YeeVY0&ab_channel=daneshj

以下公式将把雅虎财经的数据导入到工作表中:

=iferror(TRANSPOSE(IMPORTXML(CONCATENATE("https://finance.yahoo.com/quote/",A2,"?p=",A2),"//tr")),"You have to add a contract name in column A")
Run Code Online (Sandbox Code Playgroud)

乍一看,一切看起来都很好,因为它似乎是从网页上拉回数据;然而,所有的值都是不正确的

本示例中从中提取数据的 URL 如下。请注意,数据经常变化。

https://finance.yahoo.com/quote/NKLA220121C00002500?p=NKLA220121C00002500

这些数字不仅在这个特定示例中是错误的,而且每次都是错误的,并且误差范围足够大,我不认为这是由于 IMPORTXML 缓存页面造成的。我已经搜索了网页的 HTML 源代码,但在任何地方都找不到 IMPORTXML 中的值。

在此输入图像描述

在此输入图像描述

google-sheets web-scraping google-apps-script yahoo-finance google-sheets-formula

0
推荐指数
1
解决办法
1043
查看次数

雅虎财经 - 不完整的检索组件

我试图在python中写下一个函数来检索索引的组件列表.所以我想说看看FTSE100(^ FTSE),我想得到它的所有组件(100个)或更多信息.

我可以通过添加标志来获得有关组件的更多信息(请参阅此内容).

但是,给定索引,我只能检索前51个组件(第一页:http://finance.yahoo.com/q/cp?s =%5EFTSE&c = 0).

我的功能是:

at = '%40'
def getListComponents(symbol):
    url = 'http://finance.yahoo.com/d/quotes.csv?s=%s%s&c=1&f=s' % (at, symbol)
    return urllib.urlopen(url).read().strip().strip('"')

Output example: 
'AAL.L"\r\n"ABF.L"\r\n"ADM.L"\r\n"ADN.L"\r\n"AGK.L"\r\n"AMEC.L"\r\n"ANTO.L"\r\n"ARM.L"\r\n"AV.L"\r\n"AZN.L"\r\n"BA.L"\r\n"BAB.L"\r\n"BARC.L"\r\n"BATS.L"\r\n"BG.L"\r\n"BLND.L"\r\n"BLT.L"\r\n"BNZL.L"\r\n"BP.L"\r\n"BRBY.L"\r\n"BSY.L"\r\n"BT-A.L"\r\n"CCL.L"\r\n"CNA.L"\r\n"CPG.L"\r\n"CPI.L"\r\n"CRDA.L"\r\n"CRH.L"\r\n"CSCG.L"\r\n"DGE.L"\r\n"ENRC.L"\r\n"EVR.L"\r\n"EXPN.L"\r\n"FRES.L"\r\n"GFS.L"\r\n"GKN.L"\r\n"GLEN.L"\r\n"GSK.L"\r\n"HL.L"\r\n"HMSO.L"\r\n"HSBA.L"\r\n"IAG.L"\r\n"IHG.L"\r\n"IMI.L"\r\n"IMT.L"\r\n"ITRK.L"\r\n"ITV.L"\r\n"JMAT.L"\r\n"KAZ.L"\r\n"KGF.L"\r\n"LAND.L'
Run Code Online (Sandbox Code Playgroud)

这样解析组件标题非常容易.

如何获得重新组合的49个组件?请注意,在我查看FTSE250或更高版本的情况下,未检索到的组件可能会更多.

没有答案:

所以我做了一些研究,尝试了很多标志组合,找到并阅读了这个评论帖:code.google.com/p/yahoo-finance-managed/wiki/csvQuotesDownload; 我得出结论,不可能将索引的所有组件下载为CSV.

如果你有/有同样的问题,而不仅仅是使用BeautifulSoup.你可能不喜欢这种方法,但没有其他办法.

解决我的大多数问题

python api yahoo-finance

-1
推荐指数
1
解决办法
1548
查看次数