找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19143|回复: 5

[文本处理] 批处理能不能提取这个网页内容?

[复制链接]
发表于 2021-9-12 18:45:44 | 显示全部楼层 |阅读模式
本帖最后由 wh123wh123 于 2021-9-14 20:46 编辑

https://www.jisilu.cn/data/cbnew/#cb想提取
代 码 转债名称 现价 涨跌幅 正股名称 正股价 正股涨跌 正股PB 转股价 转股价值 溢价率 纯债价值 债券评级 期权价值 正股波动率 回售触发价 强赎触发价 转债占比 基金持仓 到期时间 剩余年限 剩余规模(亿元) 成交额(万元) 换手率 到期税前收益 回售收益 双低
请问哪位老师帮助用批处理提取这些列内容?
 楼主| 发表于 2021-9-14 20:46:50 | 显示全部楼层
期待高手帮助
发表于 2021-9-15 17:12:56 | 显示全部楼层
本帖最后由 380333722 于 2021-9-15 17:17 编辑

做了一个简单的,基本可以实现,不过没有筛选列,把所有列的数据都取出来放到表里了。
需要用到 wget.exe iconv.exe jq-win64.exe
1.csv 是excel表头。内容如下,需要修改成对应的中文:
bond_id,bond_nm,stock_id,stock_nm,btype,convert_price,convert_price_valid_from,convert_dt,maturity_dt,next_put_dt,put_dt,put_notes,put_price,put_inc_cpn_fl,put_convert_price_ratio,put_count_days,put_total_days,put_real_days,repo_discount_rt,repo_valid_from,repo_valid_to,turnover_rt,redeem_price,redeem_inc_cpn_fl,redeem_price_ratio,redeem_count_days,redeem_total_days,redeem_real_days,redeem_dt,redeem_flag,orig_iss_amt,curr_iss_amt,rating_cd,issuer_rating_cd,guarantor,ssc_dt,esc_dt,sc_notes,market_cd,force_redeem,real_force_redeem_price,convert_cd,repo_cd,ration,ration_cd,apply_cd,online_offline_ratio,qflag,qflag2,ration_rt,fund_rt,margin_**,lt_bps,pb,pb_flag,total_shares,float_shares,sq**,sprice,svolume,sincrease_rt,qstatus,bond_value,bond_value2,volatility_rate,last_time,convert_value,premium_rt,year_left,ytm_rt,ytm_rt_tax,price,full_price,increase_rt,volume,convert_price_valid,adj_scnt,adj_cnt,redeem_icon,ref_yield_info,adjust_tip,adjusted,option_tip,bond_value3,left_put_year,short_maturity_dt,dblow,force_redeem_price,put_convert_price,convert_amt_ratio,convert_amt_ratio2,convert_amt_ratio_tips,stock_net_value,stock_cd,pre_bond_id,repo_valid,convert_cd_tip,price_tips,


@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
wget -O 1.txt https://www.jisilu.cn/data/cbnew/cb_list/
type 1.txt |jq-win64.exe |iconv.exe -f utf-8 -t cp936 >2.txt
copy /y 1.csv result.txt
for /f "tokens=1,2 skip=1 delims=: " %%a in ('findstr /i /v /r "{ } [ ] \"id\" \"total\" \"warn\"" 2.txt') do (
  if "%%~a"=="bond_id" (
    echo !string!>>result.txt
    set string=%%b
    ) else (
    set string=!string!%%b
    )
  )
move /y result.txt result.csv
 楼主| 发表于 2021-9-16 16:49:40 | 显示全部楼层
回复 3# 380333722
只能提取30条数据?另外能不能做成纯批处理的那种?
发表于 2021-9-17 08:49:55 | 显示全部楼层
这个就是批处理,现在提出来30条数据,网站需要注册,注册后可以试试携带cookie提取全部数据。
 楼主| 发表于 2021-9-19 01:59:53 | 显示全部楼层
回复 5# 380333722

携带cookie可以提取全部数据,但是隔一段时间再次提取就又失效了,通过再次查看比较cookie发现有变化,能不能永久cookie?或者能不能自动更新cookie?感谢老师帮助
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 00:24 , Processed in 0.030675 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表