Python3腳本代碼取百度站長平臺外鏈數值剖析

  為了對百度站長工具外鏈工具中查問的外鏈數值施行剖析,特地寫了個Python的腳本代碼,經過直接get站長平臺的數值,將全部數值保留施行剖析後導出站內被鏈接頁面+回數,外鏈根域+該域名義之下鏈接數目,錨文本+錨文本運用回數,當然了,既是可以取得到數值就可以對數值施行更多維度的剖析,本腳本代碼只施行以上三方面的剖析,如有其他需要可自行擴展。

  下邊貼出代碼及解釋明白:

  下邊是腳本代碼的第1個函數:

  解釋明白:這一段函數主要獲得百度站長平臺外鏈工具中查問到的網站外鏈的全部數值並寫入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’)#敞開第1個外鏈列表

  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 = []

  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 = 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 = 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 = 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 = 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=’/’中的/為自個兒的網站即可。

  if __name__ == ‘__main__’:

  url=’/’

  url_outerlink_anchor(url)#執行第1個函數取得數值

  every_page_num(url)#執行第二個函數

  outer_url_num(url)#執行第三個函數

  anchor_num(url)#執行第四個函數