中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-15 15:21
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求教:已写一bat檔利用wget抓出某网页原始檔 查看 1,066 回复 13
楼 主 求教:已写一bat檔利用wget抓出某网页原始檔 发表于 2008-12-18 12:16 ·  中国 台湾 台北市 中华电信
新手上路
积分 10
发帖 9
注册 2007-03-22 22:07
19年会员
UID 82581
性别 男
状态 离线
求教:已写一bat檔利用wget抓出某网页原始檔于code.txt,但只要某”字符串”(如:所有的”yahoo”)填入于g.txt
该如编写?~谢谢?!!
@echo off

wget -q -O code.txt tw.dictionary.yahoo.com/

for /l %%i in (1,1,4) do echo %%i>nul
cls
title监控处理程序

::有问题的写法;请各先进帮忙修正谢谢
for /f "tokens=* delims=*" %%a in ('FINDSTR "yahoo" code.txt') do (echo %%a >>g.txt)
pause
2 发表于 2008-12-18 12:55 ·  中国 北京 鹏博士长城宽带
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
WGET 好像不能提交表单,
改用CURL 试试
CURL 功能上貌似更加强大

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
3 发表于 2008-12-18 13:06 ·  中国 台湾 台北市 中华电信
新手上路
积分 10
发帖 9
注册 2007-03-22 22:07
19年会员
UID 82581
性别 男
状态 离线
我要问的重点不是wget的使用;而是在code.txt内已有该网页之原始檔存在,但为不规则排列
内有html卷标也有标点符号也有空格;但我只要将内文字符串所有的”yahoo”取出于g.txt;不知单用DOS批次作的到吗?谢谢!!
4 发表于 2008-12-18 13:14 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
code.txt的内容贴出来
并指明你要提取哪些字符串
5 发表于 2008-12-18 13:35 ·  中国 台湾 台北市 中华电信
新手上路
积分 10
发帖 9
注册 2007-03-22 22:07
19年会员
UID 82581
性别 男
状态 离线
code.txt的内容已上传
希望g.txt的内容为(有几个文字yahoo就印几行yahoo)如下:
yahoo
yahoo
yahoo
6 发表于 2008-12-18 13:41 ·  中国 台湾 台北市 中华电信
新手上路
积分 10
发帖 9
注册 2007-03-22 22:07
19年会员
UID 82581
性别 男
状态 离线
7 发表于 2008-12-18 14:20 ·  中国 重庆 联通
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
19年会员
UID 86104
性别 男
状态 离线
可以不用第三方工具的,用VBS直接取得网页源码或页面。再查找。用VBS看网页源码的代码搜索下坛子里有。
8 发表于 2008-12-18 16:26 ·  中国 台湾 台北市 中华电信
新手上路
积分 10
发帖 9
注册 2007-03-22 22:07
19年会员
UID 82581
性别 男
状态 离线
我再把我的问题说明一遍好了
现在有txt里面如下
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">
<html>
<head>
<title>Yahoo!奇摩字典</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link href="http://l.yimg.com/tw.yimg.com/i/tw/dictionary/i7/dic.css?v=20071116a" rel="stylesheet" type="text/css">
</head>
<!-- SpaceID=0 robot -->
<!-- end header.inc -->
<body>
<div id="maincol">
<div id="yhtw_masthead">
<div class="mhlogo">
<a href="/"><img src="http://tw.yimg.com/i/tw/dictionary/masthead_logo.gif" alt="Yahoo!奇摩字典" /></a>
</div>
<div class="mhsch">
<form action="http://tw.rd.yahoo.com/referurl/srch/search/dictionary/*http://tw.search.yahoo.com/search" target="_top">
<input type="hidden" name="fr" value="ush_dict">
<input type="hidden" name="ei" value="UTF-8">
<p>
<label class="t"><input type="text" name="p" /></label>
<label class="s"><input type="submit" value="搜寻网页" /></label>
</p>
<div>
<a href="/">服务首页</a><b>|</b><a href="http://tw.help.cc.yahoo.com/cp_info.html?product=dictionary">服务说明等等.

我想生成一个txt如下(将上述内码里有”yahoo”取出填入)
yahoo
yahoo
yahoo
等.

老大帮帮忙
9 发表于 2008-12-18 17:33 ·  中国 湖北 武汉 电信
中级用户
★★
积分 247
发帖 83
注册 2005-09-12 12:06
20年会员
UID 42446
性别 男
状态 离线
区分大小写吗?不太明白生成这样一个文件有什么用,想知道^_^
sed "s/yahoo/\n&\n/g" test.txt|sed -n "/yahoo/p"
希望我理解的没错
10 发表于 2008-12-18 18:23 ·  中国 北京 鹏博士BGP
新手上路
积分 18
发帖 10
注册 2008-04-05 18:38
18年会员
UID 115045
性别 男
状态 离线
来个gawk的


gawk "/yahoo|Yahoo/ {printf \"yahoo\r\n\"}" code.txt>g.txt


[ Last edited by dwj61909 on 2008-12-18 at 18:25 ]
11 发表于 2008-12-18 19:53 ·  中国 台湾 台北市 中华电信
新手上路
积分 10
发帖 9
注册 2007-03-22 22:07
19年会员
UID 82581
性别 男
状态 离线
呀!顿时开悟不少~
其实只是把yahoo的网页拿来当测试用….
真正目的为要监控一系统网站;若原始码内有出现(Tier1)~(Ter4)就代表有异常…就必须对该系统作处理及通知负责人
若通知后该网页则会有”已通知”字符串出现;但同一时间又有可能其它server出现异常那上述(Tier1)~(Ter4)字符串又会出现
故以字符串去做判别的话:
状况1:”Tier*” exist && “已通知” !exist echo alert(“msg”)
状况2: num(”Tier” exist) = num(“已通知” exist) do nothing
状况3: num(”Tier” exist) > num(“已通知” exist) alert(“msg”)
状况3: ”Tier*” !exist && “已通知” !exist do nothing
将上述状况写成一bat run at every 2 minute….
感谢各位大大先进帮忙;获益良多….
12 发表于 2008-12-19 11:55 ·  中国 浙江 杭州 电信
中级用户
★★
拟谷盗
积分 312
发帖 108
注册 2007-01-21 11:36
19年会员
UID 77238
性别 男
状态 离线
Originally posted by yishanju at 2008-12-18 12:55:
WGET 好像不能提交表单,
改用CURL 试试
CURL 功能上貌似更加强大


wget和curl都能提交表单
记得保存cookie

以登录cn-dos为例:

curl -c cookie.txt -d "username=ngd&password=密码" http://www.cn-dos.net/forum/logging.php?action=login

wget --save-cookies=cookie.txt --post-data="username=ngd&password=密码" http://www.cn-dos.net/forum/logging.php?action=login
FLOSS
13 发表于 2008-12-22 09:42 ·  中国 台湾 台北市 中华电信
新手上路
积分 10
发帖 9
注册 2007-03-22 22:07
19年会员
UID 82581
性别 男
状态 离线
Originally posted by dwj61909 at 2008-12-18 06:23 PM:
来个gawk的


gawk "/yahoo|Yahoo/ {printf \"yahoo\r\n\"}" code.txt>g.txt


[ Last edited by dwj61909 on 2008-12-18 at 18:25 ]

上述可改成gawk "/已通知/ {printf \"yahoo\r\n\"}" code.txt>g.txt吗?
即pattern型式可以为中文字符串吗?
14 发表于 2008-12-22 09:47 ·  中国 甘肃 兰州 联通
新手上路
就是问题挺多
积分 5
发帖 4
注册 2008-12-19 10:31
17年会员
UID 134324
性别 男
状态 离线
学习了`哈哈
论坛跳转: