Board logo

标题: [已解决] 关于网页转换成文本 以及文本相同内容的删除. [打印本页]

作者: zb1007zb     时间: 2008-9-14 20:23    标题: [已解决] 关于网页转换成文本 以及文本相同内容的删除.
请教大家2个问题

1.网页上的内容我想转化成文本,应该怎么写
(通过网址复制内容进文本)

2.文本内 相同数值的删除(例如IP)又该怎么写?

谢谢大家了

Last edited by zb1007zb on 2008-9-19 at 04:55 PM ]

作者: HAT     时间: 2008-9-14 21:16
1.
curl -s http://www.baidu.cn/>a.txt

2. 把文本内容贴出来看看?

作者: zb1007zb     时间: 2008-9-14 21:18
比如一些IP咯

随便吧

127.0.0.1:1199
127.0.0.1:1237
127.0.0.1:4040
127.0.0.1:4043
209.85.173.127:80
220.162.238.229:80
60.187.220.110:8000
218.88.220.19:8000
60.187.220.110:8000
218.88.220.19:8000
从卡巴里拿的大家不要乱来哦 哈哈


怎么删除重复的

作者: HAT     时间: 2008-9-14 21:24
@echo off
type nul>b.txt
for /f "tokens=1-2 delims=:" %%a in (a.txt) do (
findstr "%%a" b.txt>nul 2>nul||echo %%a:%%b>>b.txt
)

作者: zb1007zb     时间: 2008-9-14 21:45
Originally posted by HAT at 2008-9-14 09:24 PM:
@echo off
type nul>b.txt
for /f "tokens=1-2 delims=:" %%a in (a.txt) do (
findstr "%%a" b.txt>nul 2>nul||echo %%a:%%b>>b.txt
)



方法很好,怪我没描述清楚 我指的重复也包括端口

端口不同也算不同的哦

作者: HAT     时间: 2008-9-14 21:51
@echo off
type nul>b.txt
for /f "delims=" %%a in (a.txt) do (
findstr /x /c:"%%a" b.txt>nul 2>nul||echo %%a>>b.txt
)

作者: zb1007zb     时间: 2008-9-14 21:53
@echo off
type nul>b.txt
for /f "tokens=1-2 delims= " %%a in (a.txt) do (
findstr "%%a" b.txt>nul 2>nul||echo %%a>>b.txt
)

作者: HAT     时间: 2008-9-14 22:01
转帖
1. 下载得到网页源代码

@echo off
<"%~f0" more +5 >tmp.vbs
cscript //NoLogo /e:vbscript tmp.vbs %1
del tmp.vbs
goto:eof
Set oDOM = WScript.GetObject(WScript.Arguments(0))
do until oDOM.readyState = "complete"
WScript.sleep 200
loop
WScript.echo oDOM.documentElement.outerHTML


2. 下载得到网页文本

@echo off
<"%~f0" more +5 >tmp.vbs
cscript //NoLogo /e:vbscript tmp.vbs %1
del tmp.vbs
goto:eof
Set oDOM = WScript.GetObject(WScript.Arguments(0))
do until oDOM.readyState = "complete"
WScript.sleep 200
loop
WScript.echo oDOM.documentElement.outerText

作者: zb1007zb     时间: 2008-9-14 22:40
好人............

作者: zb1007zb     时间: 2008-9-14 22:51
如果我的FOR循环里面像刚才一样有函数了

我想加一个数字变量怎么加

就是比如XXX>2.TXT执行一次就自己加1

作者: zb1007zb     时间: 2008-9-15 00:03
@echo off
type nul>b.txt

for /f "tokens=1-5 delims==| " %%a in (a.txt) do (
findstr "%%d:%%e" b.txt>nul 2>nul||(echo ServerXX=%%a>>b.txt
echo IpXX=%%d:%%e>>b.txt
echo.>>b.txt
))

b.txt
pause>nul
goto :all


我想在FOR里面加一个可以自加的变量
每查一个IP就+1
然后用在代码中XX处
望高人帮我解答 谢谢~

作者: HAT     时间: 2008-9-15 00:26
@echo off
setlocal enabledelayedexpansion
set count=0
type nul>b.txt

for /f "tokens=1-5 delims==| " %%a in (a.txt) do (
set /a count+=1
findstr "%%d:%%e" b.txt>nul 2>nul||(echo ServerXX=%%a>>b.txt
echo Ip!count!=%%d:%%e>>b.txt
echo.>>b.txt
))

b.txt
pause>nul
goto :all

作者: zb1007zb     时间: 2008-9-15 14:16
依然感谢 HAT

作者: zb1007zb     时间: 2008-9-15 15:35
8楼用不了

请问findstr "%%d:%%e" b.txt>nul 2>nul||(echo ServerXX=%%a>>b.txt
中 2>nul 是什么意思?

作者: HAT     时间: 2008-9-15 15:37
批处理语句中的 2>nul 1>nul 是什么意思
http://www.cn-dos.net/forum/viewthread.php?tid=16942

作者: zb1007zb     时间: 2008-9-15 15:59
1>nul 表示将正确删除目录树的信息禁止输出,2>nul 表示将删除过程中的错误信息禁止输出。

作者: zb1007zb     时间: 2008-9-15 16:09
@echo off
type nul>ip1.txt
type nul>ip2.txt
for /f " tokens=1-3 delims==: " %%a in (123.txt) do (

findstr "%%b:%%c" ip1.txt>>ip2.txt 2>nul || "%%b:%%c">>ip1.txt
)



ip2.txt
pause>nul
goto :all



再帮我看看这段代码哪里有问题
为什么提示路径或语法错误

目的是找出123.txt中重复的IP


或者谁有更好的方法也可以写出来

作者: HAT     时间: 2008-9-15 16:16
||后面少写了echo

作者: zb1007zb     时间: 2008-9-15 16:55
额 谢谢谢~~~~~