网络营销外包价值 ● 感恩 ● 分享
企业推广要做好就找众行网络

众行网络
为您量身定做

企业花1个人的钱,做10个人的事
1天有曝光,3天有询盘


营销技巧

NEWS introduction

162019-12

梅州网络推广如何用Python脚本分析日志

梅州网络推广如何用Python脚本分析日志

  如何用Python脚本分析日志?很简单,重点统计URL的抓取和流量数据,略细分。光年那宏观的数据觉得没多大用,就没往里加。因为是临时想到什么就往里加的什么,搞得很多变量自身都忘了是做什么的,所以整体看上去对照繁琐。效率通常,i3处理器1G多日志3、4分钟。

梅州网络推广如何用Python脚本分析日志

  实行命令:python log_file seo_file

  log_file:要输入日志的文件名,seo_file:随便起一个。。。

  脚本输送的内容包括:

梅州网络推广如何用Python脚本分析日志

  蜘蛛抓取量(总抓取量)

  每类页面的抓取量(分差异蜘蛛的;包括仅有抓取量和总抓取量,对比看下反复抓取对不多。。。)

  SEO流量(统计的搜寻引擎在‘seo_traffic_req’变量里,觉得不能够在自身加)

  每类页面的SEO流量

  每类页面的百度SEO流量和360 SEO流量

梅州网络推广如何用Python脚本分析日志

  蜘蛛形态码汇总

  百度出处重点词

  #coding:utf-8

  #weblog analytics

  import re

  import sys

  import urllib

  import os

  input_file,seo_file = sys.argv[1:3] #要输入的日志文件名,和输送的seo流量文件名

  seo_url = open(seo_file,'a')

  #fenci = open(fenci_file,'a') ps:需求独自输送百度出处重点词文件,则撤销说明注解

  baidu_seo = open('baiduseo.txt','a')

  #要统计蜘蛛抓取及流量数据的页面url对应的正则,想统计1个就写1个,想统计100个就写100个,根据自身需求更换下~~

  mulu_re = [

  '/abc/[0-9]+.html',

  '/abc/g[0-9]+/[a-z]+.html'

  ]

  #要统计的蜘蛛,根据自身需求更换下

  kz_spider = [

  'Baiduspider.*search/spider.html' #因为只匹配‘Baiduspider’可能把假蜘蛛也算进入,所以这么写。。

梅州网络推广如何用Python脚本分析日志

  #'360Spider'

  #'Googlebot',

  #'Sogou'

  ]

  weblog = open(input_file).read()

  word_re = re.compile('\.baidu\.com/.*?(?:wd|word)=(.*?)[&"]')

  seo_traffic_req = re.compile(r'(so.com/.*?q=|360.cn/.*?q=|baidu.com/.*wd=|baidu.com/.*word=|so.com/.*q=|sogou.com/.*query=|youdao.com/.*q=|yahoo.com/.*p=|bing.com/.*q=|google.com/.*q=)')

  baidu_seo_re = re.compile(r'(baidu.com/.*wd=|baidu.com/.*word=)')

  seo_traffic = 0

  seo_baidu = 0

  pagecode = {}

  baidupagecode = {}

  def spider_zq(spider):

  req = re.compile(spider)

  data = len(re.findall(req,weblog))

  return data

  def url_spider_zq(zz,spider):

  url_re = zz + '.*' + spider

  req = re.compile(url_re)

  data_one = len(list(set(re.findall(req,weblog)))) #仅有抓取量

  data_two = len(re.findall(req,weblog)) #总抓取量

  #e = '%.2f%%'% (float('%.1f'%(data_two-data_one))/data_two)

  return data_one,data_two

  print "\n"

  print "<-------------------------------每个蜘蛛的总抓取量---------------------------------->"

  for spider in kz_spider:

  print spider + "总抓取量:",spider_zq(spider)

  print "\n"

  print "<-------------------------------蜘蛛目次抓取量---------------------------------->"

  for spider in kz_spider:

  print spider+"目次抓取量:","\n"

  for zz in mulu_re:

  print zz,":",url_spider_zq(zz,spider)

  print "\n"

  print "<-------------------------------SEO总流量---------------------------------->"

  for line in open(input_file):

  data = re.search(seo_traffic_req,line)

  baidu = re.search(baidu_seo_re,line)

  if data:

  seo_traffic += 1

  seo_url.write(line+'\n')

  else:

  continue

  if baidu:

  seo_baidu += 1

  baidu_seo.write(line+'\n')

  else:

  continue

  code = line.split(' ')[9]

  if code.isdigit():

  if code in pagecode:

  pagecode[code] += 1

  else:

  pagecode[code] = 1

  print 'SEO流量:',seo_traffic,"\n"

  baidu_seo.close()

  seo_url.close()

  seo_mulu = open(seo_file).read()

  baiduseo = open('baiduseo.txt').read()

  print "<-------------------------------SEO目次流量---------------------------------->"

  print "网站目次SEO流量统计:","\n"

  for line in mulu_re:

  req = re.compile(line)

  seo_data = len(re.findall(req,seo_mulu))

  print line,seo_data

  print "\n"

  print "<-------------------------------百度 SEO目次流量---------------------------------->"

  print "网站目次SEO流量统计:","\n"

  for line in mulu_re:

  req = re.compile(line)

  seo_data = len(re.findall(req,baiduseo))

  print line,seo_data

  print "\n"

  print "<-------------------------------360 SEO目次流量---------------------------------->"

  print "360 SEO流量统计:","\n"

  for line in mulu_re:

  line_360 = line + ".*(so.com|360.cn)/.*?q="

  req = re.compile(line_360)

  seo_data_360 = len(re.findall(req,seo_mulu))

  print line,seo_data_360

  print "\n"

  print "<-------------------------------蜘蛛形态码---------------------------------->"

  pagecode_sort = sorted(pagecode.iteritems(), key=lambda d:d[1], reverse = True)

  print pagecode_sort

  print "\n"

  os.remove('baiduseo.txt')

  os.remove(seo_file) #假如需求日志中SEO流量的部分不妨删掉这行

  #假如需求日志中的百度出处重点词不妨撤销说明注解

  #for line in open(seo_file):

  # word = re.search(word_re,line)

  # if not word:

  # continue

  # kw = urllib.unquote_plus(word.group(1))

  # if 'ie=utf-8' not in line:

  # kw = kw.decode('gb2312','ignore').encode('utf-8')

  # fenci.write(kw+"\n")


  • 电 话:15811927359
  • 售前咨询:15811927359
  • 公司地址:惠州惠城麦科特大道58号风尚国际大厦8D

扫一扫关注众行网络

北京 安庆 蚌埠 巢湖 池州 滁州 阜阳 淮北 淮南 黄山 六安 马鞍山 宿州 铜陵 芜湖 宣城 亳州 福州 龙岩 南平 宁德 莆田 泉州 三明 厦门 漳州 兰州 白银 定西 甘南 嘉峪关 金昌 酒泉 临夏 陇南 平凉 庆阳 天水 武威 张掖 广州 深圳 潮州 东莞 佛山 河源 惠州 江门 揭阳 茂名 梅州 清远 汕头 汕尾 韶关 阳江 云浮 湛江 肇庆 中山 珠海 南宁 桂林 百色 北海 崇左 防城港 贵港 河池 贺州 来宾 柳州 钦州 梧州 玉林 贵阳 安顺 毕节 六盘水 黔东南 黔南 黔西南 铜仁 遵义 海口 三亚 白沙 保亭 昌江 澄迈县 定安县 东方 乐东 临高县 陵水 琼海 琼中 屯昌县 万宁 文昌 五指山 儋州 石家庄 保定 沧州 承德 邯郸 衡水 廊坊 秦皇岛 唐山 邢台 张家口 郑州 洛阳 开封 安阳 鹤壁 济源 焦作 南阳 平顶山 三门峡 商丘 新乡 信阳 许昌 周口 驻马店 漯河 濮阳 哈尔滨 大庆 大兴安岭 鹤岗 黑河 鸡西 佳木斯 牡丹江 七台河 齐齐哈尔 双鸭山 绥化 伊春 武汉 仙桃 鄂州 黄冈 黄石 荆门 荆州 潜江 神农架林区 十堰 随州 天门 咸宁 襄樊 孝感 宜昌 恩施 长沙 张家界 常德 郴州 衡阳 怀化 娄底 邵阳 湘潭 湘西 益阳 永州 岳阳 株洲 长春 吉林 白城 白山 辽源 四平 松原 通化 延边 南京 苏州 无锡 常州 淮安 连云港 南通 宿迁 泰州 徐州 盐城 扬州 镇江 南昌 抚州 赣州 吉安 景德镇 九江 萍乡 上饶 新余 宜春 鹰潭 沈阳 大连 鞍山 本溪 朝阳 丹东 抚顺 阜新 葫芦岛 锦州 辽阳 盘锦 铁岭 营口 呼和浩特 阿拉善盟 巴彦淖尔盟 包头 赤峰 鄂尔多斯 呼伦贝尔 通辽 乌海 乌兰察布市 锡林郭勒盟 兴安盟 银川 固原 石嘴山 吴忠 中卫 西宁 果洛 海北 海东 海南 海西 黄南 玉树 济南 青岛 滨州 德州 东营 菏泽 济宁 莱芜 聊城 临沂 日照 泰安 威海 潍坊 烟台 枣庄 淄博 太原 长治 大同 晋城 晋中 临汾 吕梁 朔州 忻州 阳泉 运城 西安 安康 宝鸡 汉中 商洛 铜川 渭南 咸阳 延安 榆林 上海 成都 绵阳 阿坝 巴中 达州 德阳 甘孜 广安 广元 乐山 凉山 眉山 南充 内江 攀枝花 遂宁 雅安 宜宾 资阳 自贡 泸州 天津 拉萨 阿里 昌都 林芝 那曲 日喀则 山南 乌鲁木齐 阿克苏 阿拉尔 巴音郭楞 博尔塔拉 昌吉 哈密 和田 喀什 克拉玛依 克孜勒苏 石河子 图木舒克 吐鲁番 五家渠 伊犁 昆明 怒江 普洱 丽江 保山 楚雄 大理 德宏 迪庆 红河 临沧 曲靖 文山 西双版纳 玉溪 昭通 杭州 湖州 嘉兴 金华 丽水 宁波 绍兴 台州 温州 舟山 衢州 重庆 香港 澳门 台湾
  • 微信咨询:

    客户经理:

    15811927359

    电话咨询:

    15811927359