博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 Scrapy 爬取股票代码
阅读量:6083 次
发布时间:2019-06-20

本文共 1599 字,大约阅读时间需要 5 分钟。

个人博客: 

源码地址: 

抓取工具:scrapy

scrapy 介绍

是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取 API 所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。

安装 scrapy

pip install Scrapy

抓取步骤

选择一个网站 --> 定义数据 --> 编写 spider

首先使用 scrapy 创建一个项目

scrapy startproject tutorial

1.选择一个网站

这里我们选择的是东方财富网的股票代码页面: 

2.定义要抓取的数据

我们需要抓取股票的代码 id,因此只需要定义 stock_id

class StockItem(scrapy.Item):    stock_id = scrapy.Field()

3.编写 spider

class StockSpider(scrapy.Spider):    name = 'stock' def start_requests(self): url = 'http://quote.eastmoney.com/stocklist.html' yield Request(url) def parse(self, response): item = StockItem() print "===============上海================" stocks_sh = response.css('div#quotesearch ul li a[href*="http://quote.eastmoney.com/sh"]::text') for stock in stocks_sh: item['stock_id'] = 's_sh' + re.findall('\((.*?)\)', stock.extract())[0] yield item print "===============深圳================" stocks_sz = response.css('div#quotesearch ul li a[href*="http://quote.eastmoney.com/sz"]::text') for stock in stocks_sz: item['stock_id'] = 's_sz' + re.findall('\((.*?)\)', stock.extract())[0] yield item

玄机尽在response.css('div#quotesearch ul li a[href*=""]::text ’),使用了 css 来过滤自己需要的数据。

运行程序

scrapy crawl stock -o stock.csv

即可生成 stock.csv 文件

预览如下:

stock_ids_sh201000s_sh201001s_sh201002s_sh201003s_sh201004s_sh201005s_sh201008s_sh201009s_sh201010s_sh202001s_sh202003s_sh202007s_sh203007s_sh203008s_sh203009…

如果要查询单个股票的股票行情,可以使用新浪的股票接口:

例如

即可得到浪潮软件的股票行情

var hq_str_s_sh600756="浪潮软件,19.790,1.140,6.11,365843,70869";

转载于:https://www.cnblogs.com/net19880504/p/10431860.html

你可能感兴趣的文章
js方法
查看>>
FZU 2032 高精度小数加法
查看>>
ssh 链接服务器出现 Write failed: Broken pipe
查看>>
Rails console 不能使用,出现cannot load such file -- readline (LoadError) 的解决
查看>>
uva 11468 Substring
查看>>
UVALive-3263 That Nice Euler Circuit (几何欧拉定理)
查看>>
Linux系统Mysql备份的导入导出
查看>>
大道至简第一章感想
查看>>
完美解决PHP中文乱码
查看>>
js获取下拉,单选
查看>>
Spring源码系列 — Envoriment组件
查看>>
zw量化交易·实盘操作·系列培训班
查看>>
repeater 设置分页
查看>>
Linux基础命令一
查看>>
CSRF笔记
查看>>
关于JS的return false
查看>>
HDU - 1789 Doing Homework again 贪心
查看>>
MySQL 忘记密码怎么办?
查看>>
Linux关闭端口
查看>>
ROS在Ubuntu下的安装
查看>>