【从零开始玩量化5】Python程序获取同花顺问财数据

这篇具有很好参考价值的文章主要介绍了【从零开始玩量化5】Python程序获取同花顺问财数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2022年9月25日更新

最近好几个兄弟反馈问财做了最大分页数的限制,无法查询所有数据了,我最近抽空处理了一下,现在把结果写在这里。

处理分页用到的代码较多,我就不全部贴了,我把功能封装成了一个python包pywencai,放到Github上了,感兴趣的可以去获取。

Github地址:https://github.com/zsrl/pywencai
PyPI地址:https://pypi.org/project/pywencai/

详细用法可以去上边的地址看,我这里写下示例

安装

由于包中执行了js代码,所以需要先保证你的计算机里有js运行环境,所以先安装一下node.js

https://nodejs.org/en/

之后安装包。

pip install pywencai

注:支持python3.8+版本,低版本环境请升级python后使用。

用法

import pywencai

res = pywencai.get(question='退市股票', loop=True)
print(res)

loop参数

loop参数即可以解决分页限制的问题,默认不传时为False,最多只能返回100条数据,传True,程序会循环分页,请求所有数据,返回全部结果。另外,你也可以将loop设置为一个数字,指定循环分页的次数。

若使用此参数,会循环请求多次,会增加程序执行的时间,不过目前也只能做到这样了,我尝试了一下,还算可以接受。

使用时若遇到问题,可以留言或私信。

以下为旧版方法,无法处理分页问题(已作废)

代码

直接上代码

import os
import execjs
import json
import requests as rq
import pandas as pd


def getToken():
  with open(os.path.join(__file__, os.pardir, './hexin-v.js'), 'r') as f:
    jscontent = f.read()
  context= execjs.compile(jscontent)
  return context.call("v")

def getWencai(**kwargs):
  data = {
    'perpage': 10000,
    'page': 1,
    'secondary_intent': 'stock',
    'iwcpro': '1',
    'source': 'Ths_iwencai_Xuangu',
    **kwargs
  }
  res = rq.request(
    method='POST',
    url='http://www.iwencai.com/unifiedwap/unified-wap/v2/result/get-robot-data',
    data=data,
    headers={
      'hexin-v': getToken(),
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
    }
  )
  result = json.loads(res.text)
  list = result['data']['answer'][0]['txt'][0]['content']['components'][0]['data']['datas']
  return pd.DataFrame.from_dict(list)
  1. hexin-v.js这个文件我放到我的网站上了,可以直接打开链接下载https://beima.xyz/hexin-v.js
  2. 这个方法我之前用node.js写过,现在移植到python程序,区别在于这里必须要改掉requests发送请求时的默认User-Agent,而且不可以设置为None,应该是问财官方做了一些反爬的过滤,解决方法就是直接把你浏览器里的User-Agent复制过来就好了,老法师应该都能懂。

效果展示

简单封装一下,非常实用。
pywencai,从零开始玩量化,python,开发语言,金融文章来源地址https://www.toymoban.com/news/detail-615565.html

到了这里,关于【从零开始玩量化5】Python程序获取同花顺问财数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【从零开始vnpy量化投资】十一. 实盘接入测试与正式实盘

    【从零开始vnpy量化投资】十一. 实盘接入测试与正式实盘 本篇主要讲解如何使用vnpy进行实盘交易,由于上一节我们已经学习了模拟盘运行,如果一切顺利的话,只需要通过穿透测试,就可以正式部署实盘了。 这里笔者推荐读者尽量多联系不同期货公司的业务员或者居间人,

    2024年02月07日
    浏览(25)
  • 【从零开始学习Linux】背景知识与获取环境

     哈喽,哈喽,大家好~ 我是你们的老朋友: 保护小周ღ    本期给大家带来的是 Linux 操作系统的简介,以及如何获取一个Linux 的环境 , 作为Linux 章节起始篇,如果不妥之处,欢迎批评指正~ 本期收录于博主的专栏 : JavaEE_保护小周ღ的博客-CSDN博客 适用于编程初学者,感兴

    2024年02月15日
    浏览(35)
  • 跟我一起从零开始学python(十)Hadoop从零开始入门

    回顾之前讲了python语法编程 ,必修入门基础和网络编程,多线程/多进程/协程等方面的内容,后续讲到了数据库编程篇MySQL,Redis,MongoDB篇,和机器学习,全栈开发,数据分析前面没看的也不用往前翻,系列文已经整理好了: 1.跟我一起从零开始学python(一)编程语法必修

    2024年02月11日
    浏览(26)
  • 如何从零开始开发一个小程序

    申请账号 小程序注册页 开发设置 登录 小程序后台 ,我们可以点击左侧菜单 “开发”-“开发管理”,点击后正文上方点击 “开发设置” ,就看到小程序的 AppID(小程序ID) 了 。 小程序的 AppID 相当于小程序平台的一个身份证,后续你会在很多地方要用到 AppID (注意这里要区别

    2024年02月10日
    浏览(45)
  • 小程序制作教程:从零开始搭建企业小程序

    在如今的数字化时代,企业介绍小程序成为了企业展示与推广的重要工具。通过企业介绍小程序,企业可以向用户展示自己的品牌形象、产品服务以及企业文化等内容,进而提高用户对企业的认知度和信任度。本文将介绍如何从零开始搭建一个企业介绍小程序。 首先,进入乔

    2024年02月12日
    浏览(35)
  • 从零开始制作婚礼策划展示小程序

    随着移动互联网的发展,小程序已经成为各行各业展示和推广自己的重要工具之一。对于婚礼策划行业来说,制作一个专属的婚礼策划展示小程序,不仅能提升服务的专业性和便利性,还能吸引更多的客户。下面将介绍从零开始制作婚礼策划展示小程序的步骤。 第一步是进入

    2024年02月16日
    浏览(33)
  • 【微信小程序】从零开始搭建微信小程序项目

    建议开发者在准备开发/学习小程序前都应该首先前往微信公众平台注册一个小程序账号。开发者可移步微信公众平台 https://mp.weixin.qq.com ,点击【账号分类】下的【小程序】,在小程序注册页面点击【前往注册】按照要求注册小程序账号。 详细流程请查看官方文档:https://

    2024年02月03日
    浏览(37)
  • Hbuilder+uniapp 从零开始创建一个小程序

    当你看到这篇博客的时候,那~说明~我的这篇博客写完了……哈哈哈哈哈哈哈哈。好的,清耐心往下看哈。如果有需要的,可以关注一下小作,后面还有小程序的云开发嗷~ 为什么要申请一个小程序账号? 哈哈哈哈,你如果有这个疑问的话,那你很棒棒嗷~我第一次看到官方网

    2024年02月09日
    浏览(37)
  • 【从零开始的eBPF】跑一个helloworld程序

    最近在研究ebpf的应用,网上对较低版本的内核和centos操作系统的相关资料较少,这里记录一个自己环境配置编译运行一个ebpf的helloworld程序的过程。 环境是centos7.9,虚拟机安装内存需要分配高一些,后续编译llvm很吃性能 ebpf需要至少内核是4.9+以上的版本,这里选择了4.18版本

    2024年02月07日
    浏览(36)
  • 从零开始大数据 2 python简介

    迷失在大数据的海洋?别担心,让我们从零开始!🌊  大数据世界的入口通常需要一把编程的钥匙。选择一门合适的编程语言是你迈向大数据领域的关键一步。Python是大数据处理领域的魔法杖,其简洁易读的语法使其成为数据分析和处理的首选。Java也是大数据处理的重要语

    2024年02月02日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包