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

[其他] 批处理 提取网页代码某段内容

[复制链接]
发表于 2015-1-23 17:03:06 | 显示全部楼层 |阅读模式
href="javascript:void(0);" onclick="fnServerDuelRoleFight( 25409 );">1111111</a>
href="javascript:void(0);" onclick="fnServerDuelRoleFight( 528810 );">1111111</a>
href="javascript:void(0);" onclick="fnServerDuelRoleFight( 553590 );">1111111</a>

某网页里面 有类似于上面的代码 我要用批处理提取出“fnServerDuelRoleFight( 553590 )” 红色字部份 并把每个数字保存到一个文档里面去
一个网页里面 有十五条这样的代码,也就要提取出15个数字 分别把这个15个数值保存到15个文本文件里面去 数值是随机的不是固定的。

请问这个批处理要怎么写?
 楼主| 发表于 2015-1-23 17:09:46 | 显示全部楼层
因为这个网页需要登陆才能进入 所以我就不发出来了 就假设URL为http://www.bathome.net/thread-33993-1-1.html
发表于 2015-1-23 17:13:24 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set file=1
  4. for /f "tokens=4 delims=()" %%i in (a.txt) do (
  5.     set num=%%i
  6.     set num=!num: =!
  7.     >!file!.txt echo,!num!
  8.     set /a file+=1
  9. )
复制代码
 楼主| 发表于 2015-1-23 17:23:18 | 显示全部楼层
回复 3# Batcher


    不是本地文件啊 是在线的URL代码中的一段
发表于 2015-1-23 17:24:49 | 显示全部楼层
回复 4# aipca


    没有真实的URL无法测试,瞎编的URL是不行的,因为要根据实际的网页内容写代码。
发表于 2015-1-23 20:28:31 | 显示全部楼层
本帖最后由 CrLf 于 2015-1-23 20:31 编辑

楼主描述太含糊,懒得去考虑登录以及各种特殊情况,用这个 hta 自行登录到需要的页面,按下顶部红色区域开始获取
具体文件什么的自行修改第三行
  1. <button
  2.         style='background-color:red;color:white;width:100%'
  3.         onclick='get_fnServerDuelRoleFight("生成的文件.txt")'
  4. >
  5. 我准备好了,点击获取 fnServerDuelRoleFight 列表
  6. </button>
  7. <br />

  8. <script>
  9. function get_fnServerDuelRoleFight(filePath){
  10.         var fso = new ActiveXObject('Scripting.FileSystemObject')
  11.         var ts = fso.CreateTextFile(filePath,true)

  12.         var innerHTML = document.getElementById('fnServerDuelRoleFight')
  13.                                 .contentWindow.document.body.innerHTML
  14.         var arr = []

  15.         var re = /fnServerDuelRoleFight\(\s+(\d+)\s+\)/g
  16.         var exec

  17.         while(exec = re.exec(innerHTML)){
  18.                 arr.push(exec[1])
  19.         }

  20.         ts.WriteLine(arr.join('\r\n'))

  21.         alert('Bingo!')
  22.         window.close()
  23. }
  24. </script>

  25. <iframe
  26.         id='fnServerDuelRoleFight'
  27.         style='width:100%;height:100%'
  28.         src='http://www.bathome.net/thread-33993-1-1.html'
  29. />
复制代码

评分

参与人数 1技术 +1 收起 理由
yu2n + 1 想法不错。

查看全部评分

 楼主| 发表于 2015-1-24 10:52:37 | 显示全部楼层
回复 6# CrLf


    哇咔咔 果然可以 谢谢 这个HTA可以直接用批处理调用么?
 楼主| 发表于 2015-1-24 11:13:43 | 显示全部楼层
回复 6# CrLf


    我准备好了,点击获取 fnServerDuelRoleFight 列表

这个提交按扭能不能改成自动提交的?而不需要手动点击
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 17:51 , Processed in 0.020403 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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