首页 > 其他分享 >Rust爬取大A股票数据.rs

Rust爬取大A股票数据.rs

时间:2023-12-28 09:01:42浏览次数:29  
标签:A股 mut .. rs posts let row Rust stock

extern crate simple_excel_writer as excel; use excel::*; fn main() -> Result<(), Box<dyn std::error::Error>> {     let url: &str = "http://94.push2.eastmoney.com/api/qt/clist/get?cb=jQuery1124040399874179311124_1685159655748&pn=1&pz=6000&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&wbp2u=|0|0|0|web&fid=f3&fs=m:0+t:6,m:0+t:80,m:1+t:2,m:1+t:23,m:0+t:81+s:2048&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1685159655749";     let resp: reqwest::blocking::Response = reqwest::blocking::get(url)?;     let mut posts: String = resp.text()?;     let beta_offset: usize = posts.find('[').unwrap_or(posts.len());     posts.replace_range(..beta_offset, "");     let posts: String = posts.replace(|c| c == '[' || c == ']'|| c == '{' || c == '}' || c == '"' || c == ')' || c == ';', "");     let stock: Vec<&str> = posts.split(',').collect();     println!("1、数据爬取成功······");     let mut wb = Workbook::create("C:/Users/Rover/Desktop/temp.xlsx");     let mut sheet = wb.create_sheet("Sheet0");     wb.write_sheet(&mut sheet, |sheet_writer| {         let sw = sheet_writer;         sw.append_row(row!["代码", "名称","最新价","涨跌幅%","涨跌额","成交量(手)","成交额","振幅%","最高","最低","今开","昨收","量比","换手率%","市盈率","市净率"])?;         for i in (1..=stock.len()).filter(|x| x % 31 == 0){             sw.append_row(row![&stock[i-20][4..],                                &stock[i-18][4..],                                &stock[i-30][3..],                                &stock[i-29][3..],                                &stock[i-28][3..],                                &stock[i-27][3..],                                &stock[i-26][3..],                                &stock[i-25][3..],                                &stock[i-17][4..],                                &stock[i-16][4..],                                &stock[i-15][4..],                                &stock[i-14][4..],                                &stock[i-22][4..],                                &stock[i-24][3..],                                &stock[i-23][3..],                                &stock[i-10][4..]                              ])?;         }         sw.append_row(row![()])     }).expect("write excel error!");     wb.close().expect("close excel error!");     println!("2、数据导出成功······reptile\n3、按Enter键结束!!!");     let mut args = String::new();     std::io::stdin().read_line(&mut args)?;     Ok(()) }

标签:A股,mut,..,rs,posts,let,row,Rust,stock
From: https://www.cnblogs.com/xorover/p/17931885.html

相关文章

  • 洛阳师范学院Luoyang normal university
    洛阳师范学院是一所省属普通高等本科院校,位于千年帝都、牡丹花城、丝路起点——洛阳。学校地处伊水之滨,万安山下,东汉太学便发端于此。南望二程故里,传颂着程门立雪、鲁台望道的佳话;西望关林和世界文化遗产龙门石窟,绽放着世界文化遗产的璀璨光芒。学校前身是始建于1916年的河南省立......
  • Rust error : usize 类型不能进行 - 操作
    return(-low-1asisize)asisize;cannotapplyunaryoperator-Rust编写程序时候usize类型进行-1运算时报的错误写了下BinarySearch,对于if判断修正为平衡版本,同时解决了取得的midVal已经获取其下标,不必等其缩小完边界。以下是第一种较差的实现方式。fnbinar......
  • python 使用 rsa库进行RSA签名和加解密
     python使用rsa库进行RSA签名和加解密 #-*-coding:UTF-8-*-#!/usr/bin/envpythonimportbase64importrsafromrsaimportcommon#使用rsa库进行RSA签名和加解密classRsaUtil(object):PUBLIC_KEY_PATH='/tmp/gbzj/public_key.pem'#公钥P......
  • 03 RS485串口程序收发环路设计
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录米联客(MiLianKe)FPGA社区-www.uisrc.com观看免费视频课程、在线答疑解惑!1概述在前面的课程中,我们已经学习了UART串口程序的设计,在工业场合为了提高串口的抗干扰能力,以及传输距离,RS48......
  • 不会使用 EF Core 的 Code First 模式?来看看这篇文章,手把手地教你
    EFCoreCodeFirst是什么CodeFirst是EntityFrameworkCore(简称EFCore)的一种开发模式,它允许开发人员使用纯粹的代码来定义数据模型,通过它,可以极大地提高开发效率:使用CodeFirst开发模式,你可以专注于定义领域模型和业务逻辑,而无需关注数据库的细节,能够更快地构建应......
  • SOLIDWOKRS CSWA助理工程师认证考试报名开启
     一、 CSWA助理工程师认证考试简介CSWA全称CertifiedSolidWorksAssociate,即SolidWorks认证助理工程师证书考试。是DSSolidWorks公司推出的全球性认证考试项目。该考试主要考察用户对SolidWorks软件在设计和工程领域中工作所需的技能。该认证考试项目是被实践证明的、用于评价......
  • Screen.SetResolution和URP的RenderScale有什么区别
    1)Screen.SetResolution和URP的RenderScale有什么区别2)相同压缩格式相同面积不同数量资源加载速度3)新增Tag再生成AssetBundle并热更新之后,代码获取到的是undefined这是第367篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地......
  • 【Python&RS】基于Python对栅格数据进行归一化(统一量纲至0~1)
            有段时间没有更新Python处理栅格、矢量数据了,一部分是因为之前基本上已经把如何使用Python处理地理数据的方法覆盖完了,另一部分是因为最近有其他方面的知识需要学习和巩固。也是赶巧,最近有个项目需要构建模型对影像进行反演需要用到归一化,所以就编了一段代码,今......
  • script, first, second, third = argv
    fromsysimportargv#从Python的特性库中引入argv特性到自己的脚本中#readtheWYSSsectionforhowtorunthisscript,first,second,third=argv#解包argv,并依次赋值给左边的变量print("Thescriptiscalled:",scr......
  • H3CNA-RS+——直连路由和静态路由
    直连路由和静态路由引入直连路由的建立基本的局域网间路由不适当的VLAN间路由方式用802.1Q和子接口实现VLAN间路由用三层交换机实现VLAN间路由......