爬取网易财经中股票的历史交易数据

Python爬虫实战(基础篇)—15获取东方财富网股票数据—写入csv(附完整代码) 阅读详情
AI摘要

本文介绍如何从东方财富网获取股票代码,并通过网易财经下载对应股票的历史交易数据。

爬取网易财经中股票的历史交易数据

需求分析
代码撸起来
  • 首先我们需要在东方财富网中获取到股票的代码,在(http://quote.eastmoney.com/stocklist.html)页面中我们可以看到股票代码,我们可以利用xpath结合正则表达式将这些股票代码获取到

    -----------图1

  • 获取股票代码列表的代码:

    class StockCode(object):
    def __init__(self):
        self.start_url = "http://quote.eastmoney.com/stocklist.html#sh"
        self.headers = {
            "User-Agent": ":Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
        }
    
    def parse_url(self):
        # 发起请求,获取响应
        response = requests.get(self.start_url, headers=self.headers)
        if response.status_code == 200:
            return etree.HTML(response.content)
    
    def get_code_list(self, response):
        # 得到股票代码的列表
        node_list = response.xpath('//*[@id="quotesearch"]/ul[1]/li')
        code_list = []
        for node in node_list:
            try:
                code = re.match(r'.*?\((\d+)\)', etree.tostring(node).decode()).group(1)
                print code
                code_list.append(code)
            except:
                continue
        return code_list
    
    def run(self):
        html = self.parse_url()
        return self.get_code_list(html)
  • 分析网易财经中历史交易记录下载页面获取到下载的链接。

    • 使用谷歌浏览器检查工具,切换到network,在我们在点击下载的时候可以得到请求接口:

    -----------图2

    -----------图3

    • 上图中,我们分析到,在点击下载时的url地址,需要传递的参数就是我们的股票代码和下载的起始时间和结束的时间,以及fields后面跟着的一堆参数值,在这里需要注意的是请求的url中股票代码前还多了一位是0。那么我们在爬取的时候,就需要理由xpath来提取页面中要下载数据的起始时间和结束时间,然后将在东方财富网中获取到的股票代码和url进行拼接,拼接成我们想要请求的下载连接。
  • 下载历史交易记录的代码

    class Download_HistoryStock(object):
    
    def __init__(self, code):
        self.code = code
        self.start_url = "http://quotes.money.163.com/trade/lsjysj_" + self.code + ".html"
        print self.start_url
        self.headers = {
            "User-Agent": ":Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
        }
    
    def parse_url(self):
    
        response = requests.get(self.start_url)
        print response.status_code
        if response.status_code == 200:
            return etree.HTML(response.content)
        return False
    
    def get_date(self, response):
        # 得到开始和结束的日期
        start_date = ''.join(response.xpath('//input[@name="date_start_type"]/@value')[0].split('-'))
        end_date = ''.join(response.xpath('//input[@name="date_end_type"]/@value')[0].split('-'))
        return start_date,end_date
    
    def download(self, start_date, end_date):
        download_url = "http://quotes.money.163.com/service/chddata.html?code=0"+self.code+"&start="+start_date+"&end="+end_date+"&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP"
        data = requests.get(download_url)
        f = open(self.code + '.csv', 'wb')
    
        for chunk in data.iter_content(chunk_size=10000):
            if chunk:
                f.write(chunk)
        print '股票---',self.code,'历史数据正在下载'
    
    def run(self):
        try:
            html = self.parse_url()
            start_date,end_date = self.get_date(html)
            self.download(start_date, end_date)
        except Exception as e:
            print e
    
  • 运行项目,开始下载数据:

    if __name__ == '__main__':
    code = StockCode()
    code_list = code.run()
    
    for temp_code in code_list:
        time.sleep(1)
        download = Download_HistoryStock(temp_code)
        download.run()
  • 下载数据的时候发现,获取到的股票代码2-5开头的都下载不到历史的交易记录,但是从6开始,是可以下载了,下面是下载来的数据效果:

    -------------与

    ---------------1111

学习Python爬虫东方财富网 分为3个步骤:1,爬取网页 2,逐一解析数据 3,保存网页 1,爬取网页打开网站找到需要的数据行情中心:国内快捷全面的股票、基金、期货、美股、港股、外汇、黄金、债券行情系统_东方财富网 (eastmoney.com) 按F12进入开发者模式,选择网络,再刷新(ctrl+r)页面后找到数据存放的位置。 开始构建requests(可以通过Convert curl command syntax to Python requests, Ansible URI, browser fetch, MATLAB, No 阅读详情

相关推荐

教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!

教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!! 代码展示: 开发环境: windows10 python3.6 开发工具: pycharm weddriver 库: selenium、lxml、openpyxl、time 安装webdriver 首先要安装webdriver插件,本文以谷歌浏览器为例,点开谷歌浏览器,点击右上角三个点,然后点击帮助,然后点击关于Google Chrome,查看浏览器的版本,然后点击网址http://npm.taobao.org/mirrors/c

weixin_54733110的博客 3万+

爬虫笔记——东方财富科创板数据爬取(selenium方法)

爬虫笔记——东方财富科创板数据爬取(selenium)网站观察 selenium方式爬取 优点:无需观察网站去查找数据来源 缺点:速度较requests方法更慢 网站观察 网址:东方财富科创板数据 =========================================================== ========================================...

wang_zuel的博客 4286

个人量化交易初探之一(数据的爬取)

前言 本人大概是去年元旦左右开始接触量化交易的。从一开始的很多异想天开的想法,到逐渐定制交易策略,统计分析,到后面通过机器学习的多因子选股分析,经历了不少弯弯曲曲。希望和大家分享一下,也希望能找到更多的研究量化的朋友,共同学习和进步。 分析的基本对象是A股市场的历史数据。因为时间和资金量的关系,并没有去分析期货或者外汇市场。另外,考虑到A股的T+1交易规则以及手续费原因,也并没有爬取每天每隔几秒钟的实时数据,而是每天的价格信息和成交量等数据。这类数据基本上各类财经网站或者同花顺上也能获取。之所以通过爬虫爬到

ericstarmars的博客 2732

爬取东方财富网数据笔记

小白是如何学习爬虫的?首先先从简单的入手,在b站上寻找爬虫视频,这里推荐Python爬虫编程基础5天速成(2021全新合集)Python入门+数据分析_哔哩哔哩_bilibili 有编程基础的仅需要观看其中部分爬虫视频即可,如果没有编程基础可以自行观看完整视频。这里的爬虫讲解以豆瓣电影Top250的信息爬取为主,所以通过学习如何爬取豆瓣电影信息为基础,在此基础上摸索爬取东方财富网的信息数据。(爬取豆瓣的代码,在视频中有非常完整的讲解) 下面首先爬取了东方财富网的Title 网址:平安银行...

m0_63151116的博客 1万+

面对面教你用Python查看茅台股票交易数据

我突然很好奇,你说那些什么18几年的茅台真的是18几年就开始酿的吗?还有就是一个月要卖那么多,货是怎么供过来的?最后就是,一瓶那么贵,那一个月赚多少?好多的疑问啊,就用Python揭开神秘的面纱吧。 如图1所示是网易财经展示的贵州茅台股票的历史交易数据。 单击“下载数据”超链接,会弹出如图2所示的对话框,选择完成后单击“下载”按钮就可以下载数据了,所下载的数据是CSV格式。 CSV(Comma-Separated Values)是以逗号分隔数据项(也被称为字段)的数据交换格式,主要应用于电子表格和数据

xff123456_的博客 597

爬取股票的历史数据(个股)

股票的历史数据爬取 爬取网易财经的个股历史数据 爬取链接:http://quotes.money.163.com/trade/lsjysj_000001.html? 先爬取股票的对应的代码 爬取股票代码的网站 https://www.banban.cn/gupiao/list_sh.html 代码 import requests,pymysql,re,datetime import pandas as pd from bs4 import BeautifulSoup from sqlalchemy imp

qq_43997786的博客 7817

利用bs4和requests爬取股票历史交易数据

最近在学习优达学院的一门机器学习的课程,主要讲解利用机器学习分析股票数据,然后。课程网址在这里:https://classroom.udacity.com/courses/ud501 所以需要大量的股票数据,我就先百度了一下,发现网易财经的数据很全,暴露的也很好,所以的数据都是放在一个标签中, 所以我就决定爬网易财经了,开始着手写爬虫。 首先,是构造url。 假如我要查询中国石油(

杨小事er的专栏 5983

Python爬取股票信息

一. 思路 最近想要自己做个爬取股票信息然后分析的工具。 主要思路是,通过调用东方财富网的接口,获取所有股票的代码列表。 然后通过网易财经的股票信息的下载接口获取股票信息。 数据分析以后再说。 二. 代码实现 1. 代码结构如下: 2. clsDir.py(创建目录) def mkdir(path): # 引入模块 import os # 去除首位空...

Royi的博客 9202

python爬取股票大单历史记录_利用bs4爬取股票的历史交易数据

听起来,爬取股票的所有历史交易数据跟高大上,有木有?不过写这个爬虫的时候,发现基于网易财经的股票历史数据的爬取其实挺简单,最后再写到txt文档里(暂时写txt,以后会写csv的。可以在用机器学习干一些酷酷的事情~)爬数据之前,先要看看url怎么构造啊,看了网易财经的url的构造,还真的是很亲民。下面假设我们要爬取中国石油(601857)的2016年第4季度的数据,url就是下面这样。url = '...

weixin_39862697的博客 1000

Python爬虫入门(爬取某网页财经部分股票数据)

1:反思部分之前上学期也是看过一点点爬虫的东西,然后时间太久了也基本哪里学的又还给哪里了。然后这两周的时间被班主任的要求下开始一点一点接触爬虫,开始的时候觉的很害怕。可能是因为我这个人的性格,对于未接触过的事物总有一些莫名的恐惧感,而且之前做东西总习惯了旁边有个大佬带着,有什么问题找大佬就行了,所以独立做东西的能力确实十分欠缺,做完了一项工作之后对于整个项目的理解并不是很深刻。之前大数据分组的时候x

慎独 8841

【锂离子电池力学耦合及相场法模拟技术与应用】

8. 电化学仿真软件的使用与案例分析 (1) 各向异性纳米线锂化应力分析(实例讲解1) (2) 化学反应及死锂现象研究(案例分析2)(3) 锂化循环损伤计算(案例分析3)6. 4. 电池材料的力学与电化学耦合性能分析(1) 耦合效应对电池性能的影响(2) 耦合模型的验证与应。5. 5. 电池颗粒、极片、电芯尺度力-电-化-热多场耦合模型概述力学-7. 颗粒尺度耦合模型在电池失效分析中的应用。2. 2. 电池电极材料的分类与特性。5. (2) 耦合模型的验证与应用。电化学耦合模型与仿真。

weixin_51101456的博客 526

python获取a股报表数据_python获取A股基础数据

从网易网站上面获取A股数据的基础数据,往大的说,将来可能用作深度学习的数据源,嘿嘿~~实现原理:python从网易的链接,可以将某只股票,下载一定时间范围的数据;例如下载第一创业(002797):http://quotes.money.163.com/service/chddata.html?code=1002797&end=20180302&fields=TCLOSE;HIGH;...

weixin_39528697的博客 433

Marvell 88E6390x交换芯片:从零构建No-CPU模式网络交换系统

本文详细介绍了如何为Marvell 88E6390x以太网交换芯片构建No-CPU模式网络交换系统。通过解析其核心价值与硬件准备,并手把手指导使用CodeBlocks、IMPGUI和SwitchGUI等软件工具进行配置代码编写、镜像生成与烧录,最终实现交换芯片脱离外部CPU独立工作,适用于成本敏感、空间受限的嵌入式网络设备设计。

plant的博客 485

根据股票列表 下载日k数据 存入mongodb

#! /usr/bin/python2 # coding=utf-8 import urllib2 import csv import time import pymongo from datetime import datetime from datetime import timedelta global stocks global data_stock global list_code

xp5xp6的博客 2464

别只盯着Spectre!Cadence Virtuoso里APS和Spectre X该怎么选?一份给模拟IC新手的指南

本文深入解析Cadence Virtuoso中的三大仿真引擎Spectre、APS和Spectre X,帮助模拟IC新手根据电路规模、精度需求和计算资源做出智能选择。通过对比技术指标和应用场景,提供射频电路、混合信号系统和电源管理IC的优化仿真策略,显著提升设计效率。

weixin_26841743的博客 711

Visual MODFLOW Flex 6.1新手入门:从数据导入到3D建模的完整工作流解析

本文为Visual MODFLOW Flex 6.1新手提供了从零开始构建地下水数值模型的完整工作流指南。详细解析了从项目规划、数据准备与导入,到构建三维概念模型、生成并运行数值模型,直至结果可视化与校准的核心步骤。帮助水文地质与环工领域初学者快速掌握这一专业软件,高效完成从数据到三维建模的全过程。

a1b2c的博客 809

python获取A股基础数据

从网易网站上面获取A股数据的jic

zhuxian2009的专栏 4054

uniapp(微信小程序):实现PDF在线预览+在线预览pdf文件完整示例源码,支持文件来源:服务器pdf外链URL预览、调用后端API接口获取PDF文件流二进制下载及解析打开、上传本地PDF文件预览

uni-app实现PDF预览功能,uniapp微信小程序预览PDF,uniapp开发微信小程序在线预览pdf等文件,uniApp微信小程序实现PDF在线预览,Uniapp app在线预览pdf文件流,微信小程序实现pdf预览(苹果安卓兼容),uniapp-微信小程序 实现pdf外链在线预览,uniapp小程序如何做在线预览pdf功能,uniapp小程序端 实现pdf文件预览,微信小程序(uniapp)PDF预览完整实现方案示例demo源码,uni-app预览PDF,小程序pdf预览插件插件,Uniapp微信

✅ 精选推荐文章 4705

为什么不用matlab做爬虫,Matlab做爬虫出错

仅供参考clc,clear;warning off;for year = 2018:2019 %年份for season = 1:4fprintf('%d年%d季度的数据...', year, season)[sourcefile, status] = urlread(sprintf('http://quotes.money.163.com/trade/lsjysj_zhishu_000001.h...

weixin_39906521的博客 98

AXI2APB_bridge 设计

此处研究AHB Slave到 APB master的桥接器,实现接口转化,例如下图之后是参数描述

Starry__的博客 4037

AUTOSAR AP——SM模块

对AUTOSAR AP中状态管理模块SM,从模块定义、总结等多方面进行了介绍。

weixin_43627682的博客 285

(数据科学学习手札33)基于Python的网络数据采集实战(1)

一、简介   前面两篇文章我们围绕利用Python进行网络数据采集铺垫了很多内容,但光说不练是不行的,于是乎,本篇就将基于笔者最近的一项数据需求进行一次网络数据采集的实战; 二、网易财经股票数据爬虫实战 2.1 数据要求   在本部分中,我们需要采集的是海南板块中所有股票在2012年6月29日的所有指标数据,我们爬取的平台是网易财经,以其中一个为例: 这是海南板块中的一支股票的...

weixin_30888707的博客 255

Fiori Elements Analytical List Page 标题区配置全攻略:从变体、过滤模式到 UI.KPI 的工程化落地

ALP标题区是Fiori Elements Analytical List Page的核心交互区域,承担变体管理、过滤模式切换、KPI展示等关键功能。本文系统解析了标题区的组成结构、可用能力及工程实现要点,包括:1)标题区包含过滤类型切换、全局KPI、变体管理等交互元素;2)详细说明视觉过滤与紧凑过滤的同步规则及实现方式;3)介绍OData V2下通过UI.KPI注解配置标题区KPI的方法;4)提供manifest.json配置示例和CDS注解写法。文章还对比了V2与V4版本的差异,为ALP开发提供实用指导

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 247

爬虫:爬取股票历史交易数据

爬虫策略制定 1、 从东方财富网中获取(http://quote.eastmoney.com/stocklist.html)股票代码 2、 从网易财经中可以直接下载csv格式文件,地址类似于http://quotes.money.163.com/trade/lsjysj_600508.html#01b07 3、 两个网站都不需要cookie,很好爬,注意控制访问时间间隔就可以,爬信息不要太暴...

泛泛之素 4万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

使用R语言从网易财经批量获取股票数据并进行整合的方法

最近因为投资分析需要接触R语言,需要获取A股上市公司数据。从同花顺下载效率太低,就到处找途径。分享下方法,共其他小白参考,请大神指正。 R语言自带的quantmod数据不错,不过国内A股数据不全,而且时常出错,而且由于谷歌已经终止了提供财务数据,更影响了使用,因此只能作为不错。当然,雅虎财经最近也上线了财务数据板块,不过个人还不懂得爬虫抓取,还等大神分享方法。 网上也有一些讲解从新浪财经抓取数据的...

Sping012的博客 5457

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 利用Scrapy爬取职友集中企业的信息数据
下一篇: 北京号外科技-Python爬虫工程师
评论 15
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值