文章目录
  • 前言
  • 一、确定爬取的数据来源
  • 二、确定获取数据的方式
  • 三、编写Python程序进行数据爬取
  • 总结
  • Python技术资源分享
  • 1、Python所有方向的学习路线
  • 2、学习软件
  • 3、精品书籍
  • 4、入门学习视频
  • 5、实战案例
  • 6、清华编程大佬出品《漫画看学Python》
  • 7、Python副业兼职与全职路线
  • 这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【`保证100%免费`】

前言

常言道“人生苦短,我用Python。”Python可以为我们日常生活增加哪些便利呢,在此文中我将介绍使用Python爬取股票实时数据详情。

python爬取新三板年报_Python


一、确定爬取的数据来源

我们爬取股票实时数据的来源一般有两种方式:从股票交易所的网站获取和从第三方财经网站获取。这里以第三方财经网站为例,常用的财经网站有新浪财经、上海证券报、东方财富等。

python爬取新三板年报_python爬取新三板年报_02

二、确定获取数据的方式

在确定好来源之后,我们需要选择获取数据的方式。通常情况下,获取数据的方式主要有以下三种:

1.使用网络爬虫爬取网页上的数据

2.使用API接口获取数据

3.使用第三方Python库获取数据

其中,使用第三方Python库获取数据比较简单。常用的Python库有tushare、baostock等。

三、编写Python程序进行数据爬取

通常情况下,编写Python程序进行数据爬取可以使用requests库和beautifulsoup库。下面我将以爬取新浪财经的股票实时数据为例说明如何使用requests库和beautifulsoup库爬取数据。

示例1:爬取新浪财经指定股票实时数据

import requests
from bs4 import BeautifulSoup

url = 'http://finance.sina.com.cn/realstock/company/sh600519/nc.shtml'

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}

response = requests.get(url, headers=headers)

html = response.text

soup = BeautifulSoup(html, 'html.parser')

# 获取股票代码和名称
stock_name = soup.find('h1', class_='name').text.split()[0]
stock_code = soup.find('a', class_='code').text.split()[0]

# 获取股票实时数据
data = soup.find('div', class_='act_info').find_all('span')

# 输出实时数据
print(f'{stock_name}({stock_code})的实时数据:')
for item in data:
    print(f'{item.text} ', end=' ')

在上述代码中,我们使用requests库发送请求,获取新浪财经指定股票的实时数据,将其转换为BeautifulSoup对象,然后通过find()方法获取指定元素。

示例2:爬取新浪财经指定股票历史数据

import requests
from bs4 import BeautifulSoup

url = 'https://finance.sina.com.cn/realstock/company/sh600519/hisdata/klc_kl.shtml'

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}

response = requests.get(url, headers=headers)

html = response.text

soup = BeautifulSoup(html, 'html.parser')

# 获取股票代码和名称
stock_name = soup.find('h1', class_='name').text.split()[0]
stock_code = soup.find('a', class_='code').text.split()[0]

# 获取股票历史数据
data = soup.find('div', class_='historical-data-wrap').find_all('tr')

# 输出历史数据
print(f'{stock_name}({stock_code})的历史数据:')
for item in data:
    history = item.find_all('td')
    if len(history) == 7:
        date = history[0].text
        opening_price = history[1].text
        highest_price = history[2].text
        closing_price = history[3].text
        lowest_price = history[4].text
        volume = history[5].text
        amount = history[6].text
        print(f'{date} 开盘价:{opening_price} 最高价:{highest_price} 收盘价:{closing_price} 最低价:{lowest_price} 成交量:{volume} 成交金额:{amount}')

在上述代码中,我们同样使用requests库发送请求,获取新浪财经指定股票的历史数据,将其转换为BeautifulSoup对象,然后通过find()方法获取指定元素。


总结

以上就是利用Python 爬取股票实时数据详情的完整攻略。

祝大家学习、工作、生活愉快~

python爬取新三板年报_python_03