智火营销资讯

打造一流的网络营销产品与服务,探索最前沿的技术创新
主页 > 公司新闻 > Python3脚本取百度站长平台外链数据分析

Python3脚本取百度站长平台外链数据分析

  为了对百度工具外链工具中查询的外链数据进行分析,特意写了个Python的脚本,通过直接get站长平台的数据,将所有数据保存进行分析后导出站内被链接页面+次数,外链根域+该域名下链接数量,锚文本+锚文本使用次数,当然了,既然可以获取到数据就可以对数据进行更多维度的分析,本脚本只进行以上三方面的分析,如有其它需求可自行扩展。

  下面贴出代码及说明:

  下面是脚本的第一个函数:

  说明:这一段函数主要取得百度站长平台外链工具中查询到的网站外链的所有数据并写入all_data这个列表中。

  #coding=utf-8

  import json#调用json模块

  import urllib.request#调用urllib.request模块

  def url_outerlink_anchor(url):#获取站长平台数据

  html1 = urllib.request.urlopen('http://zhanzhang.baidu.com/inbound/detail?d=%s&pagesize=100&page=1'%url).read().decode('utf-8')#打开第一个外链列表

  data1 = json.loads(html1)#转换为json格式

  outerlink_num = int(data1['count'])#获取外链总数

  range_page_num = outerlink_num//100+2#每页显示100条,外链总页面数

  range_page_num_list = range(1,range_page_num)#比如计算后range_page_num=4,则range_page_num_list = [1,2,3],每页显示100条外链则有3页

  #上边的计算主要是为了下边可以获取全部数据

  all_data = http://www.admin5.com/article/20140328/[]

  for i in range_page_num_list:#for循环提取数据并追加到all_data列表中

  html=urllib.request.urlopen('http://zhanzhang.baidu.com/inbound/detail?d=%s&pagesize=100&page=%r'%(url,i)).read().decode('utf-8')

  data = http://www.admin5.com/article/20140328/json.loads(html)

  urls=[]

  for item in data['list']:

  urls.append([item['url'],item['outer_url'],item['anchor']])#提取url,外链,锚文本

  all_data.extend(urls)

  return all_data#返回所有数据列表all_data

  下面是脚本的第二个函数:

  说明:这一段函数主要获取网站被链接的所有页面及其被链接的次数并写入csv文件。

  def every_page_num(url):#获取每个页面被链接次数

  all_data = http://www.admin5.com/article/20140328/url_outerlink_anchor(url)#所有数据

  url_list = []

  for item in all_data:#取页面数据追加到url_list中

  url_list.append(item[0])

  quchong_url_list = {}.fromkeys(url_list).keys()#去重页面数据

  file = open('%s_every_page_num.csv'%url,'a+')#创建并打开csv文件

  for item in quchong_url_list:

  file.write(item+','+str(url_list.count(item))+'\n')#写入页面,页面被连接次数

  file.close()

  return True

  结合本函数获得的数据制作出饼图效果:

  

 

  结合以上数据可制定网站后期链接建设计划。

  下面是脚本的第三个函数:

  说明:这一段函数主要取得所有外链根域并统计根域下所有指向网站的链接数量并写入csv文件。

  def outer_url_num(url):#获取外链根域及每个域名下的链接数量

  all_data = http://www.admin5.com/article/20140328/url_outerlink_anchor(url)#所有数据

  outer_url_list = []

  for item in all_data:#取外链数据追加到outer_url_list中

  outer_url_list.append(item[1])

  genyu = []

  for link in outer_url_list:#取外链根域并追加到genyu中

  genyu.append(link[:link.index('/')])

  qu_chong_genyu = {}.fromkeys(genyu).keys()#genyu中数据去重,为了下边统计次数

  file = open('%s_outer_url_num.csv'%url,'a+')#创建并打开csv文件

  for item in qu_chong_genyu:#统计每个根域下链接次数并写入文件

  file.write(item+','+str(genyu.count(item))+'\n')

  file.close()

  return True

  结合本函数获得的数据制作出饼图效果:

  

 

  结合以上数据可平衡外链的广泛度和来源域数量。

  下面是脚本的第四段函数:

  说明:这一段函数主要取得所有锚文字并统计锚文字链接次数并写入csv文件。

  def anchor_num(url):

  all_data = http://www.admin5.com/article/20140328/url_outerlink_anchor(url)

  anchor_list = []

  for item in all_data:

  anchor_list.append(item[2])

  quchong_anchor_list = {}.fromkeys(anchor_list).keys()

  file = open('%s_anchor_num.csv'%url,'a+')

  for item in quchong_anchor_list:

  file.write(item+','+str(anchor_list.count(item))+'\n')

  file.close()

  return True

  结合本函数获得的数据制作出饼图效果:

  

 

  结合以上数据主要对网站锚文本建设作出规划,当然了,如果继续对数据进行分析,统计到每个页面的锚文本即可定植全站的链接计划。

  下面是执行函数,修改url='http://www.****.com/'中的http://www.****.com/为自己的网站即可。

  if __name__ == '__main__':

  url='http://www.***.com/'

  url_outerlink_anchor(url)#执行第一个函数获取数据

  every_page_num(url)#执行第二个函数

  outer_url_num(url)#执行第三个函数

  anchor_num(url)#执行第四个函数

  以上就是本脚本所有内容,当然通过第一个函数获取数据后就可以随意进行多维度的分析了,以上只简单介绍了主要的三种,大家还可根据自己需要进行扩展。

  本文由老姜为可怜的磨料站(金刚砂http://www.moliao88.com/)所作,请尊重他人劳动成果,转载请注明出处。

关于我们    公司新闻      帮助中心    解决方案    公司博客        Copyright © 2011-2020沪ICP备12003050号-10 沪公网安备 31011002001610号 版权所有

上海     徐州     南京     苏州     广州     青岛     深圳     郑州     哈尔滨     北京

智火旗下业务:智火财务智火建站智火营销智火电商

智火营销旗下业务站点:智火SEO智火SEM智火口碑智火互动

上海智火电子商务有限公司