首页 / HTML / shell——html抓取链接
shell——html抓取链接
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了shell——html抓取链接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1344字,纯文字阅读大概需要2分钟。
内容图文
由url获得源码:wget -O url $html_file $input_file
去掉注释<!--.*--> : sed -i -e ":begin;/<!--/,/-->/ {/-->/!{$!{N;b begin};};s/<!--.*-->//;};" $html_file
-i:直接在原文件上修改,-e:同时执行多条命令
-
首先花括号{}代表命令块的开始,类似c的语法,后面就不再说了。
-
:begin
,这是一个标号,man中叫做label,也就是跳转标记,供b和t命令用,本例中使用了b命令。 -
/<<</,/>>>/
,这是一个地址范围(Addresses),后面{}中的命令只对地址范围之间的内容使用。其中逗号前面的部分是开始地址,逗号后面是结束地址,都是正则表达式。由于sed是“流”式“行”处理,所以结束地址是可以省略的,即如果地址的结束范围不存在,那么将一直处理到文件结尾。本例中使用这个地址范围主要是缩小处理的数据量,因为虽然后面用N命令把对一行的处理扩展为了多行,但如果从文件开头一直N扩展到<<<出现为止,buffer中要处理的字符串可能会很长,影响效率。所以去掉这个处理范围也是能够得到正确结果的,
获取含有链接的行并使用正则表达式抽取链接:cat $html_file | grep "<a.*href*" | sed ‘s/\(.*\)href="\([^"\n]*\)"\(.*\)/\2/g‘ >$href_file
if..fi
if.. else..fi
if..elif..else..fi
逐行处理文件中内容:
http://www.cnblogs.com/dwdxdy/archive/2012/07/25/2608816.html
while read line
do
done<$file
shell脚本--if判断(数字条件、字符串条件) http://blog.csdn.net/yusiguyuan/article/details/17054231
http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html
http://blog.csdn.net/fitywang/article/details/2156089
判断某个字符串是否以某个子串开头:[[..]]表示匹配,里面可以用正则表达式;[..]表示判断。=~表示匹配符
if [[ "$line_url" =~ "mailto*" ]];then
continue
==的功能在[[]]和[]中的行为是不同的,如下:
- [[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true
- [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true
- [ $a == z* ] # Fi
原文:http://www.cnblogs.com/myyan/p/4849743.html
内容总结
以上是互联网集市为您收集整理的shell——html抓取链接全部内容,希望文章能够帮你解决shell——html抓取链接所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。