Python获取A股数据,生成折线图
获取数据文件:
import json
import re
import time
from lxml import etree
import requests
import matplotlib.pyplot as plt
from interval import Interval
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}
def get_stock():
# 所有A股代码列表,返回股票信息列表
url = "http://quote.eastmoney.com/stock_list.html"
response = requests.get(url, headers=headers)
response.encoding = "gbk"
e = etree.HTML(response.text)
stock_list = e.xpath( '//div[@class="quotebody"]//ul/li/a/text()')
stock_url_list = e.xpath( '//div[@class="quotebody"]//ul/li/a/@href')
print(stock_list, stock_url_list)
lists = []
for i in range(0,len(stock_list)):
stockid = stock_list[i].replace("(",",").replace(")","").split(",")[1].strip()
stockname = stock_list[i].replace("(",",").replace(")","").split(",")[0].strip()
stockurl = stock_url_list[i].strip()
list_info = [stockid, stockname, stockurl]
print(list_info)
lists.append(list_info)
return lists
def get_funds(code):
'''
基金代码、名称、简拼进行基金搜索
'''
url = 'http://fundgz.1234567.com.cn/js/%s.js' % code
result = requests.get(url) # 发送请求
data = json.loads(re.match(".*?({.*}).*", result.text, re.S)