爬取股票数据

步骤

  • 从东方财富网找到上市公司的股票代码并保存
  • 根据股票代码去百度股市通去查找相关股票的具体信息并保存

代码

#-*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
import traceback
import re
import xlwt
def getHTMLText(url, code="utf-8"):try:r = requests.get(url)r.raise_for_status()r.encoding = codereturn r.textexcept:traceback.print_exc()return ""
#获取股票列表
def getStockList(lst, stockURL):html = getHTMLText(stockURL,"GB2312")soup = BeautifulSoup(html, 'html.parser') a = soup.find_all('a')for i in a:try:href = i.attrs['href']lst.append(re.findall(r"[s][hz]\d{6}", href)[0])except:continue
#根据股票的代号查找股票的交易信息,并将结果存储到相关文件
def getStockInfo(lst, stockURL):#创建EXCEL文件book=xlwt.Workbook(encoding='utf-8')sheet1=book.add_sheet('sheet1',cell_overwrite_ok=True)heads=['股票名称','最高','最低','今开','昨收','成交额','成交量','净值','折价率']num=0for head in heads:sheet1.write(0,num,head)num=num+1book.save('gupiao.xls')count = 1length=len(lst)#每次将一个查询的数据输出到EXCEl表中for stock in lst:url = stockURL + stock + ".html"html = getHTMLText(url)try:if html=="":continueinfoDict = {}soup = BeautifulSoup(html, 'html.parser')stockInfo = soup.find('div',attrs={'class':'stock-bets'})#查找股票名称if stockInfo:name = stockInfo.find_all(attrs={'class':'bets-name'})[0]infoDict.update({'股票名称': name.text.split()[0]})#寻找所有键和值(最高、最低)keyList = stockInfo.find_all('dt')valueList = stockInfo.find_all('dd')for i in range(len(keyList)):key = keyList[i].textval = valueList[i].textinfoDict[key] = valj=0for i in heads:if i in infoDict:sheet1.write(count,j,infoDict[i])j=j+1else:passbook.save('gupiao.xls')print("\r当前进度: {:.2f}%".format(count*100/length),end="")count=count+1except:print("\r当前进度: {:.2f}%".format(count * 100 / length), end="")count = count + 1continue
if __name__=='__main__':#找寻将数据静态写在html页面的网页stock_list_url = 'http://quote.eastmoney.com/stocklist.html'stock_info_url = 'https://gupiao.baidu.com/stock/'slist=[]getStockList(slist, stock_list_url)getStockInfo(slist, stock_info_url)

运行结果

  • 程序运行后将结果保存在EXCEL中,部分结果截图如下所示

爬虫练习--爬取股票数据相关推荐

  1. 知识星球《玩转股票量化交易》之 爬虫爬取股票数据

    量化交易是一个多技术综合的项目,学习完书籍<Python股票量化交易从入门到实践>我们再次升级学习的内容--知识星球<玩转股票量化交易> 在星球中我们会深入分享包括Python ...

  2. MATLAB爬虫爬取股票数据

    近年来,大数据盛行,有关爬虫的教程层次不穷.那么,爬虫到底是什么呢? 什么是爬虫? 百度百科是这样定义的: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种 ...

  3. 【python爬虫】用python爬取股票数据

    这几天把学习通的 python 爬虫相关课程给刷完了,想去动手也实践一下,重温一下很久之前学过的东西 然后发现实例2(爬淘宝那个).实例3(爬股票那个),好像都有点问题.实例2是淘宝现在的反爬机制好像 ...

  4. Python爬虫教程-Python爬取股票数据过程详解

    这篇文章主要介绍了基于Python爬取股票数据过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 基本环境配置 python 3.6 pycha ...

  5. 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价(来自我出的书)

    最近我出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中用股票范例讲述Pyth ...

  6. 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价

    最近我出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,在其中用股票范例讲述Python爬虫.数据分析和机器学习的技术,大家看了我的书,不仅能很快用比较热门的案例学好P ...

  7. 金融数据分析(四)爬取股票数据——方法一:requestsbs4re

    案例(二)爬虫预热 项目二:用两种不同的方法爬取股票数据 方法一:requests&bs4&re import requests from bs4 import BeautifulSo ...

  8. 用python爬取股票数据的一点小结

    一.背景 网上对于爬取股票数据有相对完善的教程.不过大部分教程都是只能够爬取一段时间的股票数据,针对某一只股票的历史数据爬取,目前还没有看到比较好的教程.下面对近期学的东西进行一点点小结. 二.股票数 ...

  9. 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价(来自我出的书)(转载)

    最近我出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中用股票范例讲述Pyth ...

最新文章

  1. .net 连接mysql的字符串_asp.net连接数据库字符串
  2. SAP屠夫---折旧在13-16调整期间的烦恼
  3. [MATLAB学习笔记]peaks函数1013(2)
  4. Qt Creator导入3D资产Importing 3D Assets
  5. TensorFlow2-高阶操作
  6. en55032最新标准下载_大型设备塔吊安装维保、安全检查及案例,94页PPT下载!
  7. 在家怎么看公司服务器上的文件,怎么查看云服务器上的文件
  8. VirtualBox桥接网络的简单配置,让虚拟机直接访问网络
  9. 实证分析 | 中介效应检验原理与Stata代码实现
  10. java keytool 导出证书_keytool导出证书
  11. 解决android SDK不能更新,appium测试混合app无法返回webview问题
  12. maikr博客伴侣全新发布,支持博客备份和博客搬家
  13. xp计算机无法远程桌面连接,xp系统远程桌面不能连接指定计算机的处理方法
  14. 给别人打电话显示用话提醒服务器,打电话给对方但提示已启用来电提醒功能,是怎么回事...
  15. JAVA判断访问设为是否为手机、苹果、微信
  16. java 加密 压缩_如何用java 将文件加密压缩为zip文件.
  17. JQuery插件机制
  18. GBase 8c技术特点
  19. 访问局域网计算机切换用户,图解“访问局域网中的电脑时提示输入帐号和密码”...
  20. Xilinx FPGA时钟及I/O接口规划(一)

热门文章

  1. 无法打开模块文件“C:\Users\sq\AppData\Local\Temp\.NETFramework,Version=v4.5,AssemblyAttributes.vb”:系统找不到指定的文件
  2. Java设计模式七大原则-开闭原则
  3. ros下超声波避障仿真
  4. imagettftext php,imagettftext
  5. 三菱FX2NPLC 顺序控制与顺序功能图
  6. iOS9 iOS10 iOS11的新特性
  7. Watt - 开源跨平台的多功能 Steam 工具箱
  8. Dr.Elephant的安装及使用
  9. Python--如何计算皮尔逊相关系数(Pearson correlation coefficient)
  10. bootstrap调整Glyphicons图标大小