IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

使用Python来检查统计代码是否布置到位

标点符 2012-01-27 18:52:22 累计浏览 2,235 次
本机暂存

在给网站布置统计代码后,往往需要检查开发人员布置的代码是否到位,采用人力的方式去检查很费时间,于是自己整了一个Python自动检查代码的小程序,现拿出来分享下。

# -*- coding: utf-8 -*-
__author__ = ‘www.biaodianfu.com’
import urllib2 ,gzip, StringIO, re
code = “_gaq.push(['_setAccount', 'UA-123456789-1']);”
filename = ‘urllist.txt’
checklist = open(filename,’r')
#urls = checklist.readlines()
urls = [l.strip() for l in checklist.readlines()]
for url in urls:
    page_encode = “utf-8″
    try:
        request = urllib2.Request(url)
        request.add_header(“Accept-encoding”, “gzip”)
        sock = urllib2.urlopen(request)
        page = sock.read()
        if sock.headers.get(‘content-encoding’, None) == ‘gzip’:
            page = gzip.GzipFile(fileobj=StringIO.StringIO(page)).read()
        if not isinstance(page, unicode):
            page = unicode(page, page_encode)
        times = page.count(code)
        print “%s 出现了 %d 次” % (url,times)
    except urllib2.HTTPError,e:
        print url,e.code
checklist.close()

如果要判断_setAccount或其他_gaq中的项是否添加正确,可以采用以下代码。

# -*- coding: utf-8 -*-
__author__ = ‘www.biaodianfu.com’
# -*- coding: utf-8 -*-
import urllib2 ,gzip, StringIO, re
filename = ‘urllist.txt’
checklist = open(filename,’r')
#urls = checklist.readlines()
urls = [l.strip() for l in checklist.readlines()]
for url in urls:
    page_encode = “utf-8″
    try:
        request = urllib2.Request(url)
        request.add_header(“Accept-encoding”, “gzip”)
        sock = urllib2.urlopen(request)
        page = sock.read()
        if sock.headers.get(‘content-encoding’, None) == ‘gzip’:
            page = gzip.GzipFile(fileobj=StringIO.StringIO(page)).read()
        if not isinstance(page, unicode):
            page = unicode(page, page_encode)
        pattern = re.compile(“‘_setAccount’, ‘(.*?)’”)
        codes = pattern.findall(page)
        account = codes[0].encode(‘utf-8′)
        print “%s Account:%s” % (url,account)
    except urllib2.HTTPError,e:
        print url,e.code
checklist.close()

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 用Hyer来进行网站的抓取 (累计阅读 158,253)
  2. 配置Nginx+uwsgi更方便地部署python应用 (累计阅读 107,167)
  3. 程序员技术练级攻略 (累计阅读 35,472)
  4. python实现自动登录discuz论坛 (累计阅读 32,834)
  5. python编程细节──遍历dict的两种方法比较 (累计阅读 20,371)
  6. 每个程序员都应该学习使用Python或Ruby (累计阅读 17,919)
  7. Chrome和goagent的配置方法,你懂的 (累计阅读 16,843)
  8. 30分钟3300%性能提升――python+memcached网页优化小记 (累计阅读 13,742)
  9. 使用python爬虫抓站的一些技巧总结:进阶篇 (累计阅读 13,302)
  10. 我的PHP,Python和Ruby之路 (累计阅读 13,150)