使用scrapy抓取股票代码
个人博客:https://mypython.me
源码地址:https://github.com/geeeeeeeek/scrapy_stock
抓取工具:scrapy
scrapy介绍
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。
安装scrapy
pip install Scrapy
抓取步骤
选择一个网站 --> 定义数据 --> 编写spider
首先使用scrapy创建一个项目
scrapy startproject tutorial
- 选择一个网站
这里我们选择的是东方财富网的股票代码页面:http://quote.eastmoney.com/stocklist.html
- 定义要抓取的数据
我们需要抓取股票的代码id,因此只需要定义stock_id
class StockItem(scrapy.Item): stock_id = scrapy.Field()
- 编写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*="http://quote.eastmoney.com/sh"]::text’)
,使用了css来过滤自己需要的数据。
运行程序
scrapy crawl stock -o stock.csv
即可生成stock.csv文件
预览如下:
stock_id s_sh201000 s_sh201001 s_sh201002 s_sh201003 s_sh201004 s_sh201005 s_sh201008 s_sh201009 s_sh201010 s_sh202001 s_sh202003 s_sh202007 s_sh203007 s_sh203008 s_sh203009 …
如果要查询单个股票的股票行情,可以使用新浪的股票接口:
例如
http://hq.sinajs.cn/list=s_sh600756
即可得到浪潮软件的股票行情
var hq_str_s_sh600756="浪潮软件,19.790,1.140,6.11,365843,70869";

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python启发式搜索
启发式搜索在人工智能中起着关键作用。在本章中,您将详细了解它。 AI中的启发式搜索的概念 启发式是一个经验法则,它引导我们找到可能的解决方案。人工智能中的大多数问题具有指数性质并且具有许多可能的解决方案。您不确切知道哪些解决方案是正确的,并且检查所有解决方案将非常昂贵。 因此,启发式的使用缩小了对解决方案的搜索范围,并消除了错误的选项。使用启发式引导搜索空间中的搜索的方法称为启发式搜索。启发式技术非常有用,因为在使用它们时可以提高搜索速度。 不知情和知情搜索之间的区别 有两种类型的控制策略或搜索技术:不知情和知情。这里给出了详细解释 - 不知情的搜索 它也被称为盲目搜索或盲目控制策略。之所以这样命名是因为只有关于问题定义的信息,并且没有关于状态的其他额外信息。这种搜索技术将搜索整个状态空间以获得解决方案。广度优先搜索(BFS)和深度优先搜索(DFS)是不知情搜索的示例。 知情搜索 它也被称为启发式搜索或启发式控制策略。之所以这样命名是因为有一些关于状态的额外信息。此额外信息对于计算要探索和扩展的子节点之间的首选项很有用。将存在与每个节点相关联的启发式功能。最佳首次搜索(BFS),A*,...
- 下一篇
想做一个合格的C语言程序员,从这篇文章开始
软件行业发展趋势十分快,大学的教育基本都跟上实际的社会发展需求。如果你所属的大学还在指定大家采用谭浩强的教科书,或采用VC6.0来教大家上机实验,那你不妨看一看这篇文章,在这里有一点建议可以帮助你不会脱离社会过远。 充分考虑这是1个过来人觉得很基础,并且对于新手又感觉困难重重的难题,我想要是这本文要想写得不让你认为专业名词扎堆,內容高深莫测,读过还是不知所云,那有效的方法或许是,让我们通过沟通交流的形式把整个「c语言应当怎样学」的问題由小及大的展开,慢慢来谈。 在开始之前,让我们先来做1个小测试。 一、小测试,你做好准备好學習c语言了吗? 你可否听说过二进制数,他们是怎么实现运算的?(基本的数的进制专业知识) 你可以讲出1个最小的操作系统由哪几个部分组成吗?(基本的电脑构造小知识) 电脑是怎么存放图像的? (数字化工作原理) 上边这3个问題,能作答的同学举手。如果你举手了,那麼让我们进到下环节的探讨,要不然,我将对你说,你现在最重要的事情,是赶快找一本《计算机科学导论》把预备专业知识填补好。 因为—— c语言归根结底是一门以内存为中心的计算机语言,你能否学懂它,我觉得很大层度上并不是取...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境