![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 23:48 |
共 47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助:如何将网页源代码用批处理转成文本格式 |
| 可打印版本 1,268 / 13 |
| 第1楼 zb1007zb | 发表于 2008-10-03 16:46 |
| 初级用户 发帖 39 积分 88 | |
|
求助:如何将网页源代码用批处理转成文本格式 我想将一个网站上面的源代码 和 网页资料 转成文本格式
请教大侠们 如何实现 源代码就是网页上体现不出来的 (举例,像私服发布页这样的) 网页 就是网页的内容转成文本(举例,像文章这样的) 谢谢·~ =================== 回2楼 我要的是通过网址下代码 而不是网页的文件 [ Last edited by zb1007zb on 2008-10-3 at 17:44 ] |
|
| 第2楼 radem | 发表于 2008-10-03 17:23 |
| 高级用户 发帖 383 积分 691 | |
|
ren 网页文件 a.txt
|
|
| 第3楼 lxmxn | 发表于 2008-10-03 17:47 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by zb1007zb at 2008-10-3 16:46: 通过网址下载代码? wget、curl、vbs 都可以试试。 |
|
| 第4楼 Evangel | 发表于 2008-10-03 18:09 |
| 初级用户 发帖 95 积分 145 | |
|
for /f %a in ('dir /a-d /b *.htm') do ren %a %~na.txt
|
|
| 第5楼 zb1007zb | 发表于 2008-10-03 18:44 |
| 初级用户 发帖 39 积分 88 | |
Originally posted by lxmxn at 2008-10-3 05:47 PM: 那具体语法能否说下呢? 谢谢 |
|
| 第6楼 zb1007zb | 发表于 2008-10-03 18:46 |
| 初级用户 发帖 39 积分 88 | |
Originally posted by Evangel at 2008-10-3 06:09 PM: 这位同学的批处理点了好像没反应哦 |
|
| 第7楼 hackate | 发表于 2008-10-03 18:53 |
| 中级用户 发帖 125 积分 228 | |
|
@echo off
<"%~f0" more +6 >tmp.vbs cscript //NoLogo /e:vbscript tmp.vbs pause del tmp.vbs goto:eof Set oDOM = WScript.GetObject("http://www.ip138.com/ip2city.asp") do until oDOM.readyState = "complete" WScript.sleep 200 loop WScript.echo oDOM.documentElement.outerText 你可以参考这个代码 这个代码就是获取指定的网页的文本 |
|
| 第8楼 zb1007zb | 发表于 2008-10-03 18:58 |
| 初级用户 发帖 39 积分 88 | |
Originally posted by hackate at 2008-10-3 06:53 PM: 7楼兄弟的这个可以 很强大 但是我对VBS不怎么懂 不晓得怎么转成文本 |
|
| 第9楼 hackate | 发表于 2008-10-03 19:16 |
| 中级用户 发帖 125 积分 228 | |
|
@echo off
<"%~f0" more +7 >tmp.vbs (cscript //NoLogo /e:vbscript tmp.vbs echo.)>>tmp.txt pause del tmp.vbs goto:eof Set oDOM = WScript.GetObject("http://www.ip138.com/ip2city.asp") do until oDOM.readyState = "complete" WScript.sleep 200 loop WScript.echo oDOM.documentElement.outerText 把代码改成这样.就能把输出内容直接保存到tmp.txt文本文件中啦 |
|
| 第10楼 zb1007zb | 发表于 2008-10-03 22:48 |
| 初级用户 发帖 39 积分 88 | |
Originally posted by hackate at 2008-10-3 07:16 PM: 恩 很感谢楼上的仁兄 代码都没错了 可是我希望得到的 是网页的源代码 比如 <td align="left">08年/9月/03日/22点/00分</td> <td align="left">电信</td> 这样的 因为我需要的一些链接只存在于代码里 光光网页上无法显示 再次谢谢各位了~~~~~~~~~ |
|
| 第11楼 shqf | 发表于 2008-10-04 11:07 |
| 初级用户 发帖 18 积分 35 | |
|
curl -o page.html http://www.yahoo.com
|
|
| 第12楼 dato | 发表于 2008-10-04 11:42 |
| 高级用户 发帖 377 积分 916 | |
|
http://www.topfisher.com/
一个有自编函数库的网页数据采集软件很强大,像你这种需求太简单了,自己参考论坛的例子学习吧,批实现的方法我在论坛也见过,不过说实在批这种东西有些写法实在是我的脑袋无法理解的,还是这种使用函数库的脚本比较简单. |
|
| 第13楼 hackate | 发表于 2008-10-04 12:30 |
| 中级用户 发帖 125 积分 228 | |
|
晕死,既然是这样你没说清楚,你应该说要获取网页的原代码,HTML. 而不是说获取文本信息,我倒..
@echo off <"%~f0" more +7 >tmp.vbs (cscript //NoLogo /e:vbscript tmp.vbs echo.)>>tmp.txt pause del tmp.vbs goto:eof Set oDOM = WScript.GetObject("http://www.ip138.com/ip2city.asp") do until oDOM.readyState = "complete" WScript.sleep 200 loop WScript.echo oDOM.documentElement.outerHtml 这样就可以了.. |
|
| 第14楼 dato | 发表于 2008-10-04 12:39 |
| 高级用户 发帖 377 积分 916 | |
|
楼主不只获得源代码这么简单的.
其实像这种应用多半是在一个主索引页面采集深层URL链接,再根据URL跳转进入具体页面采集页面上的相应数据,这种用批就算能实现相应的代码也太具有针对性而不具备通用性,建议使用topfisher吧,以前只是把它当作一个数据采集软件进行数据分析,用久了发现自己平时的很多思维都改变了.一个可以真正在网络庞大的数据进行筛选分析数据的好东东 你的应用可以参考,7楼的采集实例 http://www.topfisher.com/phpbbs/read.php?tid=6919 具体用directread()函数就可以了 directRead(p1(字符串常量), p2(字符串常量), p3(字符串变量)): 从网页中直接读取数据 说明: 从网页中找到p1字符串(左字符串),和p2字符串(右字符串),把p1和p2之间的字符串赋值给p3. 参数: p1:左字符串 p1:右字符串 p1:字符串变量 注意: 默认的情况下,directRead是从网页的最开始处搜索的。如果之前调用了setOffset,会从setOffset后的位置开始搜索. 例子: //读取”<title>”和”</title>”之间的字符串给_$str1 directRead(“<title>”,”</title>”,_$str1) |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |