近期爬虫入门,简单搞了个小脚本经baidu查询指定股票代码的实时行情数据(好多网站禁了,所有走的baidu,原因就不细说了~~)。

前期操作呢?当然是按部就班的一些列抓包,浏览器上F12就行了,找到对应的URL,然后准备爬爬爬,,亦可赛艇

import os
import time
import urllib2
import cookielib
from bs4 import BeautifulSoupcheck_url = r"https://www.baidu.com/s?wd={ID}"
check_id_list = ["000001", "399001", "300749", "600016", "601939", "601098"]def get_sys_time():return time.strftime('%Y-%m-%d_%H_%M_%S', time.localtime(time.time()))def get_info_from_baidu():cookie = cookielib.CookieJar()  # use to store cookies# create an OpenerDirector instance,which can handle cookie automaticallyopener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))# OpenerDirector automatically adds User-Agent and Connection header to every Requestopener.addheaders = [('User-Agent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.100 Safari/537.36'),('Connection', 'keep-alive')]urllib2.install_opener(opener)info_dict = {}for check_id in check_id_list:url = check_url.replace("{ID}", check_id)request = urllib2.Request(url)response = opener.open(request)home_page = response.read()soup = BeautifulSoup(home_page, 'lxml')wikiNode = soup.find('div', class_='op-stockdynamic-moretab-cur')tds = wikiNode.find_all('span')info = tds[0].get_text().ljust(10) + tds[-1].get_text().ljust(16)info_dict[check_id] = infoopener.close()cookie.clear()return info_dictif __name__ == '__main__':print ">>> %s <<<" % get_sys_time()infos = get_info_from_baidu()for key, item in infos.items():print key, item

简单访问下目标Url,然后解析下返回数据即可获取期望实时信息,简单运行脚本后结果如下,激动ing ...

然而,,没有高兴多久,用了几天好发现数据有点问题,有的股票代码对应信息是几天前的收盘信息(明明大盘大涨啊,这里却跌着,蒙圈的很(⊙o⊙)…)。查了一阵没啥头绪,猜测大概率跟检索的Url有关,相关经验太少没搞定,若有大神了解麻烦给指点迷经。

此路不好走,只能换接口。找啊找,找到了sina这个接口,简单试了下还是蛮好用的,详细接口介绍可见https://blog.csdn.net/fangquan1980/article/details/80006762

接口找到了,继续爬爬爬,,,

import os
import time
import collections
import urllib2
import cookielib
from collections import OrderedDictcheck_url = "http://hq.sinajs.cn/list={ID}"
check_id_list = ["sh000001", "sz399001","sz399006", "sh600016", "sh601939", "sh601098", "sz300749"]def get_sys_time():return time.strftime('%Y-%m-%d_%H_%M_%S',time.localtime(time.time()))def get_info_form_feedback(basic_info):startIndex = basic_info.find(",") + 1endIndex = basic_info.rfind(",")info = basic_info[startIndex:endIndex]info_list = info.split(",")yesterday = info_list[1]now = round(float(info_list[2]),2)gap = round(float(now) - float(yesterday), 2)percent = round((gap / float(yesterday)) * 100, 2)if gap > 0:gap = "+" + str(gap)percent = "+" + str(percent)return "%s%s(%s%%)" % (str(now).ljust(10), str(gap), str(percent))def get_info_from_sina():# info_dict = {}info_dict = OrderedDict()cookie = cookielib.CookieJar()  # use to store cookies# create an OpenerDirector instance,which can handle cookie automaticallyopener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))# OpenerDirector automatically adds User-Agent and Connection header to every Requestopener.addheaders = [('User-Agent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.100 Safari/537.36'),('Connection', 'keep-alive')]urllib2.install_opener(opener)for check_id in check_id_list:url = check_url.replace("{ID}", check_id)request = urllib2.Request(url)response = opener.open(request)basic_info = response.read()info_dict[check_id] = get_info_form_feedback(basic_info)opener.close()cookie.clear()return info_dictif __name__ == '__main__':print ">>> %s <<<"%get_sys_time()infos = get_info_from_sina()for key, item in infos.items():print key, item

这次确实可以了,数据实时,并且访问效率高,解决所需,再也不用偷偷看手机了O(∩_∩)O

总结:本次只是出于股票实时数据获取目的出发,暂未完成爬虫相关的系统学习,后续再接再厉!!!关于爬取百度数据滞后及相关Url问题还得再去研究,先Mark到此处。

Python获取股票实时数据相关推荐

  1. 使用Python获取股票实时数据和历史数据

    决定新建一个专栏,专门研究股票数据的API接口. 由于不是混金融领域的人,百度调研了一会儿,没有找到合适的大公司维护的API接口. yahoo-finance · PyPI 这玩意架梯子都访问不到数据 ...

  2. python 股票实时数据接口_获取股票实时数据的接口

    记录下获取股票实时数据的接口,记录下. 以基金兴和500018为例 ****************************** 新浪的接口: http://hq.sinajs.cn/list=sh5 ...

  3. 用python读取股票价格_借助Python获取股票实时价格的操作方法

    今天和大家分享一下使用Python获取股票实时价格的操作方法. 工具/原料 Python软件 可以联网的电脑 方法/步骤 1 要想获取股票数据,我们需要借助第三方模块.我们首先需要打开开始菜单. 2 ...

  4. python 行情数据,拼多多股票:Python获取股票行情数据的一种方法

    Python获取股票行情数据的一种方法 拼多多股票 本号帮大家找了一个可免费获取股票行情数据的接口. Tushare社区目前主要维护新版本:tushare pro,数据更稳定拼多多股票质量更高,可获取 ...

  5. 股票实时数据 python_Tushare 获取股票实时数据

    Tushare 获取股票实时数据 自己实现了一个能获取股票实时交易数据的脚本,功能是每3秒钟获取当前大盘涨跌,和自己添加股票的价格和涨跌幅 原理是通过获取Tushare 平台提供的api,来获取股票数 ...

  6. 免费获取股票历史交易数据方法与代码获取股票实时数据方法集合

    现在网上有越来越多开源的股票数据的获取方法,言简意赅,小编在这里提供2种方法去获取股票数据,第一种呢还是针对于所有的用户,通过使用第三方平台提供的方法来获取到所需要的股票数据. 方法一:使用免费的网站 ...

  7. 新浪获取股票实时数据接口(22年春节后)

    2022年春节前夕 新浪获取股票实时行情接口,获取数据进行调整. 请求:http://hq.sinajs.cn/list 调用返回:Kinsoku jikou desu! 以下为最新获取方法(Java ...

  8. 使用Python获取股票解禁数据并绘制股价曲线

    股票解禁大致分为:原始股解禁,增发股解禁,股权激励. 原始股解禁是上市前公司股东.高管.员工持有的股票. 增发股解禁是上市公司上市后,再次发行股票给一些固定的机构.人的股票. 股权激励是上市公司上市后 ...

  9. python同花顺股票实时数据_web实时股票数据展示

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 所有这些都是实时发生的,并推送到仪表板供用户评估事物和行为. 最终,为了能够从任 ...

最新文章

  1. 第八天-《企业应用架构模式》-通盘考虑
  2. Android下 scrollview的滚动停止事件的监听方法
  3. 相邻省份最多的省区_2019年人口净流入最多的十座城市,其中有八座位于我国南方地区...
  4. boost::mp11::mp_pairwise_fold_q相关用法的测试程序
  5. 新手网站推广邮件群发一点心得
  6. oracle数据库sqlloader,sql loader ---ORACLE SQLLDR
  7. x264_macroblock_cache_load()
  8. ORACLE中date类型字段的处理
  9. MySQL Connector/Net 5.20安装后无法在VS2008中正常使用的问题
  10. 代码编辑框控件_某游戏控件遍历
  11. 5G iPhone SE或将在明年一季度推出 明年有望生产3000万部
  12. sqlCommang ADO.Net
  13. 万字长文详解如何用 Python 玩转 OpenGL | CSDN 博文精选
  14. char* str = abc ;跟char str[] = abc;的区别
  15. 前端aes加密_前端安全攻防解析
  16. SQL的bit列名转换成access是/否数据类型,True无效的问题
  17. Unity3D脚本编程读书笔记——第1章 Hello Unity 3D(认识Unity3D游戏引擎)
  18. spring boot 中调用存储过程失败问题
  19. [QT_015]Qt学习之基于条目控件的自定义特性(拖拽+右键菜单+样式)
  20. GeoHash算法详解

热门文章

  1. python编译和反编译
  2. win11右键菜单改回win10教程(亲测可用-全流程截图)
  3. 给程序员小弟弟小妹妹们的一些总结性忠告
  4. java 手机令牌_手机令牌机制java程序的实现
  5. ansible从入门到入土:对剧本进行语法检查及真/伪执行剧本
  6. python控制鼠标移动到相应的位置_让精灵一步步移动到鼠标点击位置
  7. Unity修改材质属性(包含自建Shader)
  8. word刷子刷格式_word格式刷刷完格式后公式上凸了怎么办?
  9. 谷歌翻译不能用 2022.12
  10. mysql查询总成绩的前3名学生信息