如何用python获取股市行情?
时间: 2023-06-01 14:03:25 浏览: 116
要获取股市行情,可以通过以下方式使用Python:
1. 使用第三方库:可以使用许多第三方库来获取股市行情,例如Pandas、Numpy、Quandl等。这些库提供了许多函数和方法来获取和处理股市数据。
2. 使用API:许多股市数据提供商提供API,可以使用Python编写代码来调用这些API获取数据。例如,Alpha Vantage、Yahoo Finance等都提供API。
3. 使用Web爬虫:可以使用Python编写Web爬虫来从股市网站上抓取数据。但是,需要注意不要违反网站的使用条款。
以下是使用Python获取股市行情的示例代码:
使用Pandas库获取股票历史数据:
```python
import pandas_datareader as pdr
import datetime
start = datetime.datetime(2021, 1, 1)
end = datetime.datetime(2021, 6, 30)
df = pdr.get_data_yahoo('AAPL', start=start, end=end)
print(df)
```
使用Alpha Vantage API获取股票历史数据:
```python
import requests
import json
url = 'https://www.alphavantage.co/query'
params = {
'function': 'TIME_SERIES_DAILY_ADJUSTED',
'symbol': 'AAPL',
'apikey': 'your_api_key'
}
response = requests.get(url, params=params)
data = json.loads(response.text)
print(data['Time Series (Daily)'])
```
使用Web爬虫获取股票历史数据:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://finance.yahoo.com/quote/AAPL/history?p=AAPL'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find('table', attrs={'data-test': 'historical-prices'})
rows = table.find_all('tr')
for row in rows[1:]:
cols = row.find_all('td')
date = cols[0].text
open_price = cols[1].text
high_price = cols[2].text
low_price = cols[3].text
close_price = cols[4].text
adj_close_price = cols[5].text
volume = cols[6].text
print(date, open_price, high_price, low_price, close_price, adj_close_price, volume)
```
阅读全文