爬虫练习五:多进程爬取股市通股票数据

在上网查阅一些python爬虫文章时,看见有人分享了爬取股票的交易数据,不过实现得比较简单。这里就做个小练习,从百度股票批量爬取各股票的交易信息。

文章出处为:Python 爬虫实战(2):股票数据定向爬虫

 

爬取数据:每个股票的日度交易数据

爬取来源:百度股市通

python版本:3.6.6

时间:20190115

 

1. 找到日度数据url

以中化国际的日K数据为例,通过分析网页,我们可以发现,日度交易数据是通过接口的形式获取的。

获取的url为:https://gupiao.baidu.com/api/stocks/stockdaybar?from=pc&os_ver=1&cuid=xxx&vv=100&format=json&stock_code=sh600500&step=3&start=&count=160&fq_type=no&timestamp=1547534373604

这个页面是通过get进行请求的,url中包含的参数如下:

其中stock_code是请求的股票代码,因为中化国际是在上交所交易的,所以股票代码前加上了sh。如果请求时没有加上对应的sh/sz就无法查询到信息

count是当前返回的数据量,因为是日度数据,160就是返回最近160天的日度数据。

测试后发现,fq_typetimestamp参数可以不填。

所以我们就得到了获取日度交易数据的URL; https://gupiao.baidu.com/api/stocks/stockdaybar?from=pc&os_ver=1&cuid=xxx&vv=100&format=json&stock_code=sh600500&step=3&start=&count=160

stock_code进行替换就可以获得不同股票对应的日度数据。

 

2. 找到每个股票对应的股票代码

既然我们找到了根据股票代码获取其对应日度数据的地址,接下来就要去找一下如何获取每个股票的股票代码。

没有在股市通中找到哪个页面有陈列所有股票的=对应的股票代码,这里借鉴上面提到的文章,从东方财富网抓取每个股票对应的代码:http://quote.eastmoney.com/stocklist.html

这个页面中每个股票对应的代码是直接写在HTML代码里,所以我们只需要使用BeautifulSoup或其他库解析网页即可。

 

3. 实现 import requestsfrom bs4 import BeautifulSoup

import pymysql
from multiprocessing import Pool
import time # 从东方财富网获取各股票代码 def get_stock_info(list_url): stock_info
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值