本站源码全部测试通过,配有前台及后台演示图,绿色安全,希望能对大家有所帮助!
  • 收藏本站
  • 网站地图
  • 发布源码
  • 首 页
  • VPS/云主机
  • 交流论坛
  • [一起学Python]简单爬虫代码抓取票交所每日价格
    时间:2019-03-15 08:14:13来源:模板之家 作者:转载大师 下载:1903 次
    Windy 一起学债券

    在数据分析的流程中,首先要做的便是获取数据,网络爬虫可以通过程序,自动抓取网络上的目标对象,为数据归集工作提供极大便利。为了实现爬虫程序,我们除了需要了解Python的相关库,也需要了解基本的HTML+CSS+JavaScript网络编程。

    本次使用Pythonrequesturilib库,构建了一个简单的爬虫程序。目标网站就是刚刚发布了收益率曲线的票交所官网(http://www.shcpe.com.cn/index.html)。打开收益率曲线的界面,发现有数据下载模块,可以下载票交所公布的每日国股银票转贴现价格,本次的目标就是在这个模块里面,实现数据的自动下载。

    那都可以点击下载了,又何必大费周章?设想如果我们需要1年以上的数据,可能会点的手都肿了

    在编程之前先对网站进行分析,分析过程中,才能体会到谷歌游览器的精髓。打开http://www.shcpe.com.cn/index_132.html,进入收益率曲线界面。调用谷歌游览器的开发者工作,在Network模块下,点击右侧第一个文件index_132.html,我们可以发现一个连接:

    我们选择2018-12-14,点击查询,这时刚刚的连接变成了下面的地址:

    根据网址的命名规则,可以发现每日的数据的地址就是依据上述网址,将最后面的日期变成目标日期。

    现在我们需要分析下载模块的代码。点击Elements模块。我们定位到下面语句:

    定位过程十分简单,因为每一个语句都可以在左边的对应界面提示。在这条语句上我们发现了秘密每日的价格就通过以下网址下载:

    现在可以建立一个简单的思路:通过读取目标日期的网站源代码,然后抓取上一张图的Excel文件地址,实现数据的下载。

    本次爬虫程序,主要调用了以下库:

    import requests

    import re
    from urllib.request import urlretrieve
    from datetime importdate, timedelta

    1. 定义需要下载的起始日期和截止日期

      #确定起始日期

      startday = date(2018, 12, 5)

      #初始化目标日期

      daynow = startday

      #确定截止日期

      endday = date(2018, 12, 24)

    2. 构架正则表达式

      #构架正则表达式

      m = r/uploadfiles/(d{4})/(d{2})/d{18}.xls

    3. 建立一个while循环,读取起始日至截止日期间的每日数据。

      #循环读取起始日至截止日期间,每日的数据

      while daynow < endday:

      #读取网站,网站地址以当前日期结尾

      r = requests.get("http://www.shcpe.com.cn/

      index_132_lcid_1_date_%s.html"

      % daynow.strftime(%Y-%m-%d))

      #当前日期加1天

      daynow += timedelta(days=1)

      try:

              #用正则表达式匹配网址中显示的Excel网站地址

              g = re.search(m, r.text)

               s = "http://www.shcpe.com.cn"

              #url为完整的Excel地址

              url = s + g.group(0)

              #为下载的Excel文件命名,以当期日期为名称

              filename = daynow.strftime(%Y-%m-%d)

               #下载Excel文件

               urlretrieve(url, G:\BillRate\%s.xls % filename)

               except AttributeError as e:

              #节假日为非交易日,票交所不公布价格

              #如果当日为节假日,输出当日无数据

              print("%s has no date" % daynow.strftime(%Y-%m-%d))

    对于节假日,输出如下信息:





      发送中

      转载请注明来源: [一起学Python]简单爬虫代码抓取票交所每日价格
      本文永久链接地址:bencandy.php?fid=3&id=5578
      本文标签:

      版权声明:
      —— 本文内容由互联网用户自发贡献, 本站不拥有所有权, 不承担相关法律责任, 如果发现本站有涉嫌抄袭的内容, 欢迎发送邮件至 :
      —— 1034252225@qq.com 举报, 并提供相关证据, 一经查实, 本站将立刻删除涉嫌侵权内容。

      最新《系统天堂》软件下载站门户整站程序源码 带WAP手机端+全最新《系统天堂》软件下载站门户整站程序源码 带WAP手机端+全
      福娃源码交易平台,VIP会员,友价T5内核,可运营版本福娃源码交易平台,VIP会员,友价T5内核,可运营版本
      最新仿酷趣商业源码交易平台完整源码,带任务平台功能,新闻栏最新仿酷趣商业源码交易平台完整源码,带任务平台功能,新闻栏
      推荐资讯

      开源之家:最新微信收银系统程序(刷卡支付、卡券核销、扫码支付

      开源之家:最新微信收银系统程序(刷卡支付、卡券核销、扫码支付微信源码3415

      最新微信全民经纪人系统V3.0完整商业版

      最新微信全民经纪人系统V3.0完整商业版微信源码3415

      星火草原微信三级分销系统云指分销商城完美修复版二次开发源码

      星火草原微信三级分销系统云指分销商城完美修复版二次开发源码微信源码3415

      最新牛NIUCMS本地O2O系统V3.0商业版源码二次开发版微信完美三

      最新牛NIUCMS本地O2O系统V3.0商业版源码二次开发版微信完美三微信源码3415

      最新销客多V3.5三级分销系统二次开发版修复物流公司BUG支持佣

      最新销客多V3.5三级分销系统二次开发版修复物流公司BUG支持佣微信源码3415
      开源之家广告栏目A
      热点资讯

      最新《系统天堂》软件下载站门户整站程序源码 带WAP手机端+全

      最新《系统天堂》软件下载站门户整站程序源码 带WAP手机端+全下载系统6481

      福娃源码交易平台,VIP会员,友价T5内核,可运营版本

      福娃源码交易平台,VIP会员,友价T5内核,可运营版本下载系统6481

      最新仿酷趣商业源码交易平台完整源码,带任务平台功能,新闻栏

      最新仿酷趣商业源码交易平台完整源码,带任务平台功能,新闻栏下载系统6481

      mobanbox素材网源码,素材图片站系统,类似千图网源码,高端响应

      mobanbox素材网源码,素材图片站系统,类似千图网源码,高端响应下载系统6481

      2017年10.20更新友价T5源码素材交易网站源码|虚拟物品交易商城

      2017年10.20更新友价T5源码素材交易网站源码|虚拟物品交易商城下载系统6481
      开源之家广告栏目B
      开源之家广告栏目C