- A+
我们在做SEO的时候免不了要进行一些分析竞争对手网站的工作,通常做法是搜索一些核心关键词,通过这些核心关键词来判断哪些网站具体有很强的竞争力,以及跟他相比,我们网站的优势和劣势在哪。
这是一个不错的思路,现在的问题是人工去挖掘的话,一方面效率太低,另一方面数据量不会很大,可能会遗漏一些竞争对手。那么有没有办法能既做到速度快,又能挖掘尽可能多的同行竞争对手网站呢?方法当然是有的,不然我也不叫方法了:)
下面我就教大家一个方法来快速挖掘同行网站,其中只需要一个工具就行,那就是cygwin,下面有安装教程。cygwin是windows平台下的一个UNIX模拟环境,也就是在不用把我们常用的windows换成UNIX系统的情况下,我们也能使用一些功能强大的UNIX命令来帮助我们提高效率。
####################最后更新日期:2015年8月14日,亲测好用!#####################
前期准备工具
1、斗牛系列关键词挖掘工具:百度推广后台、百度商情、爱站关键词挖掘等,我本次只用爱站关键词挖掘工具挖掘了一小部分词作为演示。
2、shell:cygwin的下载及安装请看这篇文章:《【高清视频!】win7系统Cygwin安装教程及常用工具安装使用教程》,回头我再写一个侧重于SEO工具方面的详细安装教程。
3、关于以下所有命令,都可以在这篇文章中得到详细的使用方法介绍:Shell分析日志常命令快速入门,请自觉补脑一下。
实现思路
第一步:用关键词挖掘工具挖掘批一批行业词,比如有1000个词,如下图:
第二步:把每个词去百度搜索一下,取前50个结果URL,然后汇总所得到的所有URL;
代码如下:第一条命令是转到我们要处理的文件kws.txt所在的目录,第二条命令是运行duishou.sh这个shell批处理文件,并计算耗时。
cd /cygdrive/c/Users/fang/Desktop/新建文件夹
time bash -x duishou.sh
测试跑1000个词试试:
程序效率
测试跑1000个词,用时33分钟,你觉得效率怎么样?
测试效果
URL前面的数字越大,表示该网站的竞争力越强大。
其中duishou.sh是几条命令的集合,类似WINDOWS下面的批处理。
程序源代码
duishou.sh的代码如下,大家可以直接粘贴到记事本里,把扩展名改为.sh就可以用了,当然,你要是懒得动手的话,文章底部可以下载原文件。
#!bin/bash #############本工具由【方法SEO博客http://seofangfa.com】提供,欢迎反馈问题~~~############# #############2015年8月14日############# #############作用################ #快速高效找到该行业里SEO做得最强的网站; #############原理################ #根据一批关键词,批量获取这些关键词的百度搜索结果页前50个结果的URL,再将这些URL排序,统计出现次数,出现次数越多,说明该网站的前50名排名覆盖率越高,也就意味着SEO做得越好; #############用法################ #1、安装cygwin,【高清视频!】win7系统Cygwin安装教程及常用工具安装使用教程:http://seofangfa.com/shell/cygwin-setup.html #2、cd 命令切换到工作目录; #3、输入time bash -x duishou.sh #4、等运行完毕,查看结果,结果存在good.txt文件中。 #############注意事项############# #1、kws.txt:关键词列表,一行一个,UTF-8编码 #2、ok.txt:百度搜索结果页前50个结果的URL集合 #3、good.txt:最终结果存放的文件 #4、关键词越多,结果越准确,所以,第一步你得挖掘足够多、足够精准的行业关键词,教程看下面: #1、【超级简单好用!】批量采集百度相关搜索关键词:http://seofangfa.com/seo-tool/baidu-related.html #2、【亲测好用!】shell批量采集百度下拉框关键词:http://seofangfa.com/seo-tool/shell-baidu-xiala.html #3、shell快速批量获取百度商情关键词【带指数】:http://seofangfa.com/shell/baidukeyword-shangqing.html #开始获取百度前50名网站的URL...... a=0 cat kws.txt|while read line;do let a+=1 echo $a curl -s "http://www.baidu.com/s?wd=$line&rn=50"|grep -o "http://www.baidu.com/link\?[^\"|\']*"|xargs curl -s -i|grep "Location"|sed 's/Location://g' done >ok.txt #开始分析竞争对手网站.... cat ok.txt|awk -F "/" '{print $3}'|egrep -iv "360|soso|sina|163.com|baidu|sohu|jb51|56|jd|yahoo|zhihu|docin|doc88|1688|sogou|etao|tianya|baike|zmazon|taobao|qq|wikipedia|xici|zhubajie|lusongsong|letv|ku6|ebrum"|sort|uniq -c|sort -nr|head -n100 >good.txt #展示最终结果...... cat good.txt
第二步:排除百度自身产品结果,以及新浪博客、SOSO、360搜索、360doc、docin等其他高权重网站;
第三步:取URL重复次数最多的100个作为主要竞争对手。
解释一下上面代码的意思
1、cat ok.txt:打开ok.txt文件;
2、|:管道命令,表示上一步处理完的文件通过该管道输送到下一个命令;
3、awk -F '/' '{print $3}':取URL的主域部分;
4、egrep -iv "360|soso|sina|163.com|baidu|sohu|jb51|56|jd|yahoo|zhihu|docin|doc88|1688|sogou|etao|tianya|baike|zmazon|taobao|qq|wikipedia|xici|zhubajie|lusongsong|letv|ku6|ebrum":排除这些高权重平台的结果;
5、sort:将结果排序,以便进行下一步结果去重并计算重复次数;
6、uniq -c:对结果进步去重并计算重复次数;
7、sort -nr:将重复次数按从大到小排序;
8、head -n100:取原始结果的前100个条数据;
9、>good.txt:将最终结果输出到good.txt中。
以上所有命令,都可以在这篇文章中得到详细的使用方法介绍:Shell分析日志常命令快速入门
有任何问题或者想法,都欢迎在下面的评论框中与我沟通探讨。
2016-10-30 下午4:48
#开始获取百度前50名网站的URL……
a=0
cat kws.txt|while read line;do
let a+=1
echo $a
curl -s “http://www.baidu.com/s?wd=$line&rn=50″|grep -o “http://www.baidu.com/link\?[^\”|\’]*”|xargs curl -s -i|grep “Location”|sed ‘s/Location://g’
done >ok.txt
这部分的wd=$line 有问题,应该是wd=$a,不然提取不出来……
2015-08-14 下午5:34
厉害啊
2015-04-16 下午1:59
照做了!!我处理脚本是总是出现 ***mand not found xarge not such a file or directory 是为什么呢?
2015-04-09 下午3:40
在liunx下操作不行啊
2014-06-27 下午5:22
shell学到现在 只懂得cd
2014-06-27 下午4:59
学习了,谢谢
来自外部的引用: 1