我正在编写一个网络爬虫程序,以从Yahoo Finance获取公司的股价。
import re
import urllib.request
stock = input('Enter a company to check its stock.')
with urllib.request.urlopen('https://finance.yahoo.com/quote/' + stock) as urlfile:
urltext = urlfile.read()
stock_pattern = r'(\d+)\.(\d+)'
for i in re.findall(stock_pattern, str(urlfile.read())):
print(i)
如何获取公司的当前股价?我怀疑它应该与for
循环有关。
答案 0 :(得分:0)
如果您要使用非API方法。查看名为Selenium的库。这样一来,您就可以挑选出某个要素(即当前的股价)。
这是一个例子:
from selenium import webdriver
browser = webdriver.Chrome(executable_path='the file path of where you saved chrome driver')
browser.get('https://finance.yahoo.com/quote/' + stock)
stockPrice = find_element_by_xpath('//*[@id="quote-header-info"]/div[3]/div/div/span[1]')
print(stockPrice)
但是,是的,我也会在评论中遵循人们的建议,并研究一些金融网站的api。