标题: [文本处理] [已解决]怎么用批处理提取网页的全部链接 [打印本页]
作者: hlzj88 时间: 2014-6-29 00:02 标题: [已解决]怎么用批处理提取网页的全部链接
本帖最后由 hlzj88 于 2014-6-29 17:22 编辑
最近在用批处理做小说下载整合bat,一般网页的提取已经解决,因为他们是一行一个链接。但想具有更好的提取整理功能,遇到类似这个地址的,不知道怎么提取了。
http://www.abcsee.net/book/27/27026/ 因为这个的每行都有几个链接。希望能得到帮助。同时也希望能兼容每行一个链接的网页地址。http://www.9laidu.com/0/278/index.html
要求是提取的网页链接能以每行
开篇(一)|http://www.abcsee.net/book/27/27026/6717602.html或开篇(一)|6717602.html
这样的形式保存。
作者: CrLf 时间: 2014-6-29 01:06
一万多字的行无法直接处理,要么借助 js/vbs,要么用第三方,要么用 sep/p 拼接
作者: CrLf 时间: 2014-6-29 01:16
- sed "/^<dd>/!d;s/</\n&/g" "妖瞳公主 最新章节 无弹窗广告 - 北辰文学网.htm"|sed "/^<a/!d;s/.*\x22\(.*\)\x22>/\1|/g"
复制代码
作者: hlzj88 时间: 2014-6-29 17:21
回复 3# CrLf
谢谢,sed尝试了,版本不对,用htox32c 后每行只有4个链接,自己解决了。
作者: Batcher 时间: 2014-6-30 21:50
回复 4# hlzj88
把你的代码发出来给大家分享一下吧
另外,可以试试这个sed版本:
http://pan.baidu.com/s/1pJkDALt
作者: terse 时间: 2014-7-1 11:19
发给BAT+JS 仅测试一楼数据- @if(0)==(0) echo off
- cscript -nologo -e:jscript %0 <a.htm
- pause&exit
- @end
- var re = /<a href="(\d+\.html)".*?>(.+?)<\/a>/ig;
- var rs = WScript.StdIn.ReadAll().match(re);
- var length = rs.length;
- for (i=0; i<length; i++) {
- WScript.Echo(rs[i].replace(re,'$2 | $1'));
- }
复制代码
作者: hlzj88 时间: 2014-7-1 19:55
回复 5# Batcher
关于整理后链接的提取,代码我已经发这个地址。不多占论坛空间。
http://www.bathome.net/thread-30798-1-1.html
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |