大黑客呢?肯定会自己写脚本,不要一条一条的去敲命令,这里简单的利用lynx这个命令的应用来提取特点的web页面中的一系列的url,
你看把,这是小编的编辑器,不错把,挺漂亮的颜色,小编挺幸苦搞这个编辑器,给小编加个油吧,文章最后我会贴出源代码!!
我来说说这个脚本的工作原理
在显示页面时候,lynx会以**的格式显示页面文本,它可以跟随页面上的所有超文本引用或链接。该脚本在提取链接的时候,只使用sed打印出页面文本中references字符串之后的所有内容。然后根据用户指定的选项来处理链接列表。
上面的只是我在linux里写的一些代码,等等我会把源代码放出来,不懂的可以问问我,提取网页的链接其实是很有用的。
我们运行一下我写的代码
你看从百度的网站找到这么多链接,是不是挺有成就感的!!!!
Bash getlinks.sh http://www.amazon.com | wc –l
还能统计有多少条链接,亚马孙的一共有134条链接。
Bash getlinks.sh -d htt://www.baidu.com
这个去掉了前面的http://,就可以看见这些链接指向了多少不同的域。
你看吧,效果很不错吧!!!
写在最后,我们是做教育的,希望大伙能学到东西是我们不变的初衷!!
同学们想了解更多的知识,可以私信我,加群讨论一下!!希望可以帮到大家!!!!最后我先把代码贴出来:
#!/bin/bash#Date 2019-09-22if [ $# -eq 0 ];then echo "Usage:$0 [-d|-i|-x] url" >&2 echo "-d=domains only,-i=internal refs only,-x=external only" >&2 exit 1fiif [ $# -gt 1 ];then case "$1" in -d) lastcmd="cut -d/ -f3 | sort |uniq" shift ;; -r) basedomain="http://$(echo $2 | cut -d -f3)/" lastcmd="grep \"^$basedomain\" | sed \"s|$basedomain||g\" | sort|\ uniq" shift ;; -a) basedomain="http://$(echo $2 | cut -d/ -f3)/" lastcmd="grep -v \"^$basedomain\" | sort | uniq" shift ;; *) echo "$0 unknown option specified: $1" >&2 exit 1 esacelse lastcmd="sort | uniq"filynx -dump "$1" | \ sed -n '/^References$/,$p' | \ grep -E '[[:digit:]]+\.' | \ awk '{print $2}' |\ cut -d\? -f1 |\ eval $lastcmdexit 0