Web scraping 网站抓取雅虎金融推荐评级

Web scraping 网站抓取雅虎金融推荐评级,web-scraping,beautifulsoup,yahoo-finance,Web Scraping,Beautifulsoup,Yahoo Finance,我正试图用BeautifulSoup从网络上获取雅虎的财务推荐评级,但它总是返回“无”。 例如,AAPL的推荐评级为“2” 请告知。谢谢大家! 代码如下: from requests import get from bs4 import BeautifulSoup tickers = ['AAPL'] url = 'https://sg.finance.yahoo.com/quote/%s/profile?p=%s'%(ticker, ticker) print(url) response

我正试图用BeautifulSoup从网络上获取雅虎的财务推荐评级,但它总是返回“无”。 例如,AAPL的推荐评级为“2”

请告知。谢谢大家!

代码如下:

from requests import get
from bs4 import BeautifulSoup

tickers = ['AAPL']
url = 'https://sg.finance.yahoo.com/quote/%s/profile?p=%s'%(ticker, ticker)
print(url)
response = get(url)

html_soup = BeautifulSoup(response.text, 'html.parser')
type(html_soup)

#yf_rec refers to yahoo finance recommendation

try:
    yf_rec = html_soup.find('div', attrs={'class':'B(8px) Pos(a) C(white) Py(2px) Px(0) Ta(c) Bdrs(3px) Trstf(eio) Trsde(0.5) Arrow South Bdtc(i)::a Fw(b) Bgc($buy) Bdtc($buy)'}).text.strip()
except:
    pass

打印(yf_rec)

页面是动态的,由JavaScript生成。有时,您可以在脚本标记中或通过api找到数据,这两种情况我都没有看到。然后,您的下一个选择是首先使用Selenium进行页面渲染,然后您可以在那里解析htmlhi-我在MX Linux和ATOM上运行此操作,并返回以下结果
Python-bs_yahoo_finance.py:17回溯(最后一次调用):File”/home/martin/.ATOM/Python/examples/bs_yahoo__finance.py“,第5行,在url中:https://sg.finance.yahoo.com/quote/%s/profile?p=%s“%(ticker,ticker)name错误:未定义名称“ticker”[在0.415s内完成]
。为什么会这样?你可以试试一个叫。安装后,您可以使用以下代码获得当前推荐以及前三个月的推荐:
Ticker('aapl')。推荐趋势是动态的,由JavaScript生成。有时,您可以在脚本标记中或通过api找到数据,这两种情况我都没有看到。然后,您的下一个选择是首先使用Selenium进行页面渲染,然后您可以在那里解析htmlhi-我在MX Linux和ATOM上运行此操作,并返回以下结果
Python-bs_yahoo_finance.py:17回溯(最后一次调用):File”/home/martin/.ATOM/Python/examples/bs_yahoo__finance.py“,第5行,在url中:https://sg.finance.yahoo.com/quote/%s/profile?p=%s“%(ticker,ticker)name错误:未定义名称“ticker”[在0.415s内完成]
。为什么会这样?你可以试试一个叫。安装后,您可以使用以下代码获得当前推荐以及前三个月的推荐:
Ticker('aapl')。推荐趋势