这是使用python3.5+BeautifulSoup来爬取网易的股票信息,
使用这些数据来画出蜡烛图和折线图。效果如下图所示:

这个实现出来还是很简单的。这是大二做的,做的不怎么好,只是练练手。
代码很多注释,我就不解释了哈。。。
源代码在下面:

'''
Created on 2017年6月11日@author: liutao
'''
import urllib
import urllib.parse
from bs4 import BeautifulSoup
from urllib import request
import matplotlib.pyplot as plt
from datetime import datetime
from matplotlib.font_manager import FontProperties
import matplotlib.dates as mdates
import numpy as np
import pandas as pd
from matplotlib.finance import candlestick_ohlc
from matplotlib.dates import num2date#爬的网易的数据,新浪的太难爬。
url = r'http://quotes.money.163.com/trade/lsjysj_600052.html'
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
values = {'name' : 'Michael Foord','location' : 'Northampton','language' : 'Python' }headers = { 'User-Agent' : user_agent }data = urllib.parse.urlencode(values).encode(encoding='UTF8')
req = urllib.request.Request(url, data, headers)
htm = request.urlopen(req)
#创建beautifulsoup对象
soup = BeautifulSoup(htm, "html.parser")
#提取div标签
mess = soup.find('div',attrs={'class':'area'})
#提取table标签
ta = mess.find('table',attrs={'class':'table_bg001 border_box limit_sale'})
#提取tr标签
ymd = ta.find_all('tr')
#删除列表中的空数据
del ymd[0]
daily = []  #年月日
sta = []    #开盘价
end = []    #收盘价
max = []    #最高价
min = []    #最低价
for y in ymd:days = y.find_all('td')daily.append(days[0].get_text())sta.append(days[1].get_text())max.append(days[2].get_text())min.append(days[3].get_text())end.append(days[4].get_text())'''
#开始画图
#数据已经抓取完成
#保存在三个列表中daily   sta   end
#画折线图
'''data = []
for d in daily:data.append(datetime.strptime(d,'%Y-%m-%d').date())
#反转列表
data = list(reversed(data))
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=10)
#配置横坐标
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())
#横坐标间隔
plt.xticks(pd.date_range(data[0],data[-1],freq='10d'))
x = np.array(data)
y1 = np.array(sta)
y2 = np.array(end)
y3 = np.array(max)
y4 = np.array(min)plt.figure(1)
ax1 = plt.subplot(111)
ax1.set_title("股票代码:600052  浙江广厦",fontproperties=font)
ax1.set_xlabel("时间",fontproperties=font)
ax1.set_ylabel("股价(元)",fontproperties=font)
ax1.plot(x,y1,'r')
ax1.plot(x,y2,'b')
ax1.plot(x,y3,'g')
ax1.plot(x,y4,'y')
plt.gcf().autofmt_xdate() # 自动旋转日期标记
plt.savefig('gupiao1.png',dpi=100)   '''
#画蜡烛图
'''
#把时间转换为mdates.date2num格式,并加入二维列表中
DATA = []
for i in range(len(sta)):DATA.append([mdates.date2num(data[i]),float(sta[i]),float(max[i]),float(min[i]),float(end[i])])plt.figure(2)
ax2 = plt.subplot(111)
ax2.set_title("股票代码:600052  浙江广厦",fontproperties=font)
ax2.set_xlabel("时间",fontproperties=font)
ax2.set_ylabel("股价(元)",fontproperties=font)
ax2.xaxis_date()
candlestick_ohlc(ax2, DATA, width=0.6, colorup='#53c156', colordown='#ff1717')
plt.savefig('gupiao2.png',dpi=100)   '''
合并
'''
plt.figure(3)
ax3 = plt.subplot(211)
ax3.set_title("股票代码:600052  浙江广厦",fontproperties=font)
ax3.set_xlabel("时间",fontproperties=font)
ax3.set_ylabel("股价(元)",fontproperties=font)
ax3.plot(x,y1,'r')
ax3.plot(x,y2,'b')
ax3.plot(x,y3,'g')
ax3.plot(x,y4,'y')
plt.gcf().autofmt_xdate() # 自动旋转日期标记
ax4 = plt.subplot(212)
ax4.set_xlabel("时间",fontproperties=font)
ax4.set_ylabel("股价(元)",fontproperties=font)
ax4.xaxis_date()
candlestick_ohlc(ax4, DATA, width=0.6, colorup='#53c156', colordown='#ff1717')
plt.savefig('gupiao3.png',dpi=100)
plt.show()            

使用python在网易爬取股票信息,制作股票分析系统(简易版)相关推荐

  1. [python] 常用正则表达式爬取网页信息及分析HTML标签总结

    这篇文章主要是介绍Python爬取网页信息时,经常使用的正则表达式及方法.它是一篇总结性文章,实用性比较大,主要解决自己遇到的爬虫问题,也希望对你有所帮助~ 当然如果会Selenium基于自动化测试爬 ...

  2. python项目实战:爬取东方财富热门股票数据

    前言 今天为大家分享一个用Python爬取股票的今开 成交量 ,最高, 涨停, 内盘 ,成交额 ,委比 ,流通市值市盈率MRQ ,每股收益总股本 ,昨收 ,换手率, 跌停等一系列信息,能够帮你更好的分 ...

  3. Python爬虫:爬取拉勾网职位并分析

    大数据杂谈 一起行走数据江湖! 作者:闲庭信步 原文链接: https://blog.csdn.net/danspace1/article/details/80197106 如需转载,请联系原作者. ...

  4. [转载] python+selenium定时爬取丁香园的新冠病毒每天的数据,并制作出类似的地图(部署到云服务器)

    参考链接: Python vars() python+selenium定时爬取丁香园的新冠病毒每天的数据,并制作出类似的地图(部署到云服务器) 声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造 ...

  5. Python爬取股票信息

    一. 思路 最近想要自己做个爬取股票信息然后分析的工具. 主要思路是,通过调用东方财富网的接口,获取所有股票的代码列表. 然后通过网易财经的股票信息的下载接口获取股票信息. 数据分析以后再说. 二. ...

  6. Python爬虫——爬取股票信息

    Python爬虫--爬取股票信息 1. 准备工作 每一次浏览器访问网页,会自动向浏览器服务器发送本地的电脑信息(headers),远方服务器接收到信息后会反馈给你网页信息(response),然后电脑 ...

  7. python+selenium定时爬取丁香园的新冠病毒每天的数据,并制作出类似的地图(部署到云服务器)

    python+selenium定时爬取丁香园的新冠病毒每天的数据,并制作出类似的地图(部署到云服务器) 声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造成损失,和本博客无关 目录 python ...

  8. 如何用 Python 爬取网页制作电子书

    本文来自作者 孙亖 在 GitChat 上分享 「如何用 Python 爬取网页制作电子书」,「阅读原文」查看交流实录. 「文末高能」 编辑 | 哈比 0 前言 有人爬取数据分析黄金周旅游景点,有人爬 ...

  9. python写图片爬取软件_python制作微博图片爬取工具

    有小半个月没有发博客了,因为一直在研究python的GUI,买了一本书学习了一些基础,用我所学做了我的第一款GUI--微博图片爬取工具.本软件源代码已经放在了博客中,另外软件已经打包好上传到网盘中以供 ...

最新文章

  1. dnsmasq详解手册
  2. 【效率】推荐几个不错的网站!
  3. 号称最强“抓取”工具,没有搞不到的资源!
  4. matlab画孔斯曲面,CAD CAM技术基础:第五讲 孔斯曲面
  5. HDU1394(权值线段树)
  6. SpringBoot配置绑定的两种方式
  7. linux驱动加载 动态加载 静态加载 自动加载
  8. python中没有严格意义上的私有成员_尔雅尔雅学习通APP家园的治理:环境科学概论题库及答案...
  9. 熟知ios与android游戏渠道的区别,艾瑞:2013Q4中国iOS官方游戏分发渠道和Android游戏分发渠道产品榜单热门产品情况...
  10. as常用固定搭配_语法必看:as的几种固定用法
  11. SystemVerilog学习笔记7——覆盖率
  12. docker--privileged
  13. 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
  14. FPGA通过PCIe读写DDR4仿真IP核
  15. 5G精华问答 | 什么是5G?5G与LTE有什么关系?
  16. redis哨兵搭建(windows)
  17. 阿里巴巴数学竞赛详细解答(据说晋级的直接P8岗)
  18. laradock、phpstrom、xdebug配置实现断点调试
  19. 神奇的 CSS,让文字智能适配背景颜色
  20. C语言结构体指针的定义和初始化

热门文章

  1. 如何扫描开放的UDP端口 C#
  2. go strings.TrimPrefix() 和 strings.TrimLeft()
  3. CString字符串查找和截取与去空格(Find,FindOneOf,ReverseFind,Left,Mid,Right,substr,TrimLeft和TrimRight)
  4. robocopy命令行管理
  5. RabbitMQ队列
  6. 图解Git:一个软件配置管理工具(简介)
  7. 土地新政将使地价提高四至六成
  8. 手摸手系列之EasyPoi导出Excel横向遍历实战
  9. C语言基础练习004选择结构(逻辑判断语句的应用)
  10. MySQL数据表插入数据