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

[文件操作] [已解决]如何用BAT或VBS脚本提取网页中的字符串?

[复制链接]
发表于 2012-2-8 07:38:45 | 显示全部楼层 |阅读模式
请教如何用 VBS 或 BAT 在以下网页中以 IP:端口 的格式提取出来保存到 TXT 中??

http://www.51proxied.com/http_fast.html

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-2-8 12:41:49 | 显示全部楼层
222.88.95.66:8080
222.88.95.66:80
218.80.232.38:8080
221.186.173.1:8080
221.130.162.48:82
112.175.227.204:8080
61.19.127.131:8080
222.88.95.77:80
222.88.95.65:8080
222.88.95.65:80
222.66.88.205:80
222.127.106.89:3128
221.7.159.224:8080
221.224.20.210:8080
221.130.162.48:85
221.130.162.48:84
221.130.162.48:81
221.130.162.48:80
159.226.168.11:80
193.53.4.252:8080
这是将网页中的内容粘贴到文本文件中处理的结果,不知道符合要求否?代码如下:

  1. @echo off&setlocal enabledelayedexpansion
  2.     for /f "delims=" %%i in (a.txt) do (
  3.     if !n!==1 echo !str!:%%i&set n=0
  4.     echo %%i|findstr "^[1-9]*\.[0-9]*\.[0-9]*\.[0-9]*$">nul&&set /a n+=1&set "str=%%i"
  5. )
  6. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2012-2-8 14:39:50 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=1-4" %%a in (ip.txt) do (
  3.         >>ip1.txt echo %%b:%%c
  4. )
  5. pause
复制代码
代码简单化,copy1-30表格的内容到ip.txt

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2012-2-8 15:57:21 | 显示全部楼层
谢谢楼上两位热心高手。
如果我想用 WGET 下载网页到本地,从 HTML 文件格式提取IP到TXT文本中。就是全自动化,不用打开网页浏览器就可完成。
请问  HTML 格式 IP 转 TXT 该怎么写?想过用 SED 和 AWK 。不过都不大好用。
发表于 2012-2-8 17:05:53 | 显示全部楼层
本帖最后由 ivor 于 2012-2-8 17:11 编辑

回复 4# wewe-b
  1. @echo off & setlocal ENABLEDELAYEDEXPANSION
  2. set /p website=请输入网页:*.html                                                               
  3. wget http://www.51proxied.com/%website%
  4. (for /f "tokens=1,2 delims=>" %%a in ('findstr "<td" %website%') do (
  5.         echo %%b
  6. ))>Temp
  7. for /f "delims=<" %%c in (Temp) do (
  8.         set /a count+=1
  9.         if !count! equ 2 set ip=%%c
  10.         if !count! equ 3 echo !ip!:%%c >>proxy.txt
  11.         if !count! equ 4 set count=0
  12. )
  13. erase %website% Temp
  14. pause

复制代码
因为我还不知道wget如果指定保存的html文件名,所以不能做的太智能,有BUG再反馈吧,还可以优化,本人懒得很     呵呵,没问题就等后面的人继续发更优秀的来替代我这个  (*^__^*) 嘻嘻……

评分

参与人数 1技术 +1 收起 理由
wewe-b + 1 代码完全能实现所要功能!感谢!

查看全部评分

 楼主| 发表于 2012-2-8 20:15:37 | 显示全部楼层
回复  wewe-b 因为我还不知道wget如果指定保存的html文件名,所以不能做的太智能,有BUG再反馈吧,还可以优 ...
ivor 发表于 2012-2-8 17:05



    谢谢指点。代码可以实现自动化了。 又加深了对 For 和 Findstr 的了解.
发表于 2012-2-9 22:48:35 | 显示全部楼层
回复 4# wewe-b


你还没学会sed和awk吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 19:32 , Processed in 0.022784 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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