当前位置:首页 > SEO技巧

怎样查找同类网站同行网站_长春SEO



有时候我们在做站的时候希望能够找出同行的网站做为参考,或者找出同行做得好的网站,也就是竞争对手的网站。

如果只是简单的人工百度,也能够查找出来一些,但是我们又如何能够确定,哪个网站做得好,哪个网站做得差呢?

长春SEO网是这样子操作的,仅供大家参考,当然方法有很多,比如用搜索引擎的高级搜索命令,请看下方视频:


以下为,批处理的方法,也是非常实用的,比如我想做一个花卉苗木行业的网站,要找出做得好的竞争对手

第一步:通过百度关键词工具挖出花卉相关词汇

词的数量越多越好,根据行业的大小来定,花卉我挖了16000个。

相关词   搜索量

花卉图片大全 1812
斗南花卉拍卖中心 985
花卉 964
花卉养殖 810
花卉网 478
花卉市场 429
花卉图片 317
花卉大全 225
深圳花卉租摆 216
花卉种子 212

第二步:使用工具把这些词放到百度(英文用谷歌)中搜索

记录每个词第一页的网站,只需要提取主域名即可,然后根据名次赋于分值。这里我用python实现。以下代码供参考,不能够直接使用,因为用了Mongodb做为数据存储。

  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. import sys
  4. import time
  5. import datetime
  6. import re
  7. import traceback
  8. import StringIO
  9. import gzip
  10. import urllib
  11. import urllib2
  12. import cookielib
  13. import pymongo
  14. import hashlib
  15. from bs4 import BeautifulSoup
  16.  
  17. class collectProductByApi(object):
  18.     connection=None
  19.     db=None
  20.     cat='flower'
  21.     t=int(datetime.datetime.now().strftime('%Y%m%d'))
  22.     def getDb(self):
  23.         while (not self.db)  or (not self.db.is_mongos):
  24.             self.connection=pymongo.MongoClient("127.0.0.1:1111")
  25.             self.db=self.connection.monitor
  26.             if  (not self.db)  or (not self.db.is_mongos):
  27.                 print "cannot connection to MongoDB"
  28.                 time.sleep(10)
  29.         return self.db
  30.  
  31.     def main(self):
  32.  
  33.         obj=Tool()
  34.         while 1:
  35.             word=self.getDb().word.find_one({'cat':self.cat,'t':{'$lt':self.t}})
  36.             if word:
  37.                 result=obj.getBaiduSearch(word['w'])
  38.                 if len(result)==0:
  39.                     print word['w'].encode('gb2312','ignore'),0
  40.                 for domain in result:
  41.                     _analyse_id=self.cat+str(self.t)+domain['d']
  42.                     _analyse_id=hashlib.md5(_analyse_id.encode('utf8')).hexdigest()
  43.                     isExsit=self.getDb().analyse.find_one({'_id':_analyse_id})
  44.                     score=self.getScore(domain['i'])
  45.                     if not isExsit:
  46.                         doc={'_id':_analyse_id,'cat':self.cat,'domain':domain['d'],'score':score,'num':1,'t':self.t}
  47.                         self.getDb().analyse.insert(doc)
  48.                     else:
  49.                         self.getDb().analyse.update({'_id':_analyse_id},{'$inc':{'num':1,'score':score}})
  50.                     print word['w'].encode('gb2312','ignore'),domain['i'],domain['d']
  51.                 self.getDb().word.update({'_id':word['_id']},{'$set':{'t':self.t}})    
  52.             else:
  53.                 self.rank()
  54.                 print 'End'
  55.                 return
  56.             time.sleep(3)
  57.  
  58.     def getScore(self,index):
  59.         x=0
  60.         result = {
  61.           1: lambda x: 28.56,
  62.           2: lambda x: 19.23,
  63.           3: lambda x: 10.20,
  64.           4: lambda x: 8.14,
  65.           5: lambda x: 7.50,
  66.           6: lambda x: 5.72,
  67.           7: lambda x: 4.01,
  68.           8: lambda x: 4.41,
  69.           9: lambda x: 5.53,
  70.           10: lambda x: 6.70
  71.         }[index](x)
  72.         return result
  73.  
  74.     def rank(self):
  75.         analyse_rows=self.getDb().analyse.find({'cat':self.cat,'rank':None})
  76.         for row in analyse_rows:
  77.             rank=row['score']/row['num']
  78.             row['rank']=rank
  79.             self.getDb().analyse.save(row)
  80.             print self.cat,row['domain'],rank
  81.         print 'End Rank'
  82.  
  83. class Tool(object):
  84.  
  85.     def getBaiduSearch(self,word):
  86.         domains=[]
  87.         url= 'http://www.baidu.com/s?wd=%s' % urllib.quote_plus(word.encode('utf8'))
  88.         request = urllib2.Request(url)
  89.         request.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101')
  90.         request.add_header('Referer',url)
  91.         request.add_header('Accept-Language','zh-CN,zh;q=0.8')
  92.         request.add_header('Accept-Encoding','gzip,deflate,sdch')
  93.         request.add_header('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.')
  94.         try:
  95.             response = urllib2.urlopen(request)
  96.             html = response.read()
  97.             compressedstream = StringIO.StringIO(html)
  98.             gzipper = gzip.GzipFile(fileobj=compressedstream)
  99.             data = gzipper.read()
  100.  
  101.             soup = BeautifulSoup(data)
  102.         except:
  103.             return domains
  104.         tables=soup.findAll('table',id=re.compile(r'^d{1,2}
  105.         for table in tables:
  106.             index=table["id"]
  107.             index=int(index)
  108.             span=table.find('span',{'class':'g'})
  109.             if span:
  110.                 site=span.text
  111.                 site=re.search(r'([a-zA-Z0-9.-]+)',site)
  112.                 domain=site.groups(1)[0]
  113.                 domains.append({'d':domain,'w':word,'i':index})
  114.         return domains
  115.  
  116.  
  117. if __name__ == '__main__':
  118.     obj=collectProductByApi()
  119.     print obj.main()
  120.  
复制代码


出来的结果
 
说一下这些数值是怎么来的:

排名词个数代表在16000个词中,这个域名有多少个词在首页有排名。

排名总分就是这些词的排名得分总和,一个词排在第一页第一名,我就就给它加10分。

排名权值就是 总分 除于 词个数

到这里根据总分排一下序,然后去除一下百度之类的平台,人工筛选下,也就能大致确定出行业的主要竞争对手了。

这里的权值是一个很有意义的数据,长期跟踪一个网站的排名权值,可以知道网站有没有被降权之类的。

最后的结果:
 

附分值表:

           google    baidu
Rank1: 34.35     28.56 
Rank2: 16.96     19.23
Rank3: 11.42     10.20
Rank4: 7.73       8.14
Rank5: 6.19       7.50
Rank6: 5.05       5.72
Rank7: 4.02       4.01
Rank8: 3.47       4.41
Rank9: 2.85       5.53 
Rank10: 2.71     6.70

欢迎拍砖。
怎样查找同类网站同行网站_长春SEO http://www.121seo.cn/SEO/911.html
以上文章出自长春SEO自学网未经作者许可,不得转载。2018-12-19 06:29:37"

分享到:
相关推荐: