Python测试数据脚本
# coding=UTF-8
import random
import time
url_paths = [
"www/2",
"www/1",
"www/6",
"www/4",
"www/3",
"pianhua/130",
"toukouxu/821"
]
status_code = [404, 302, 200]
ip_slices = [132, 156, 124, 10, 29, 167, 143, 187, 30, 100]
http_referers = [
"https://www.baidu.com/s?wd={query}",
"https://www.sogou.com/web?qu={query}",
"http://cn.bing.com/search?q={query}",
"https://search.yahoo.com/search?p={query}"
]
search_keyword = [
"猎场",
"快乐人生",
"极限挑战",
"我的体育老师",
"幸福满院"
]
# ip地址 29.124.10.132
def sample_ip():
# 从元组ip_slices中随机选4个
slice = random.sample(ip_slices, 4)
# 集合中的元素以.相连
return ".".join([str(item) for item in slice])
# "www/2",
def sample_url():
# 从url_paths 中随机取一个元素,并将其值get出来
return random.sample(url_paths, 1)[0]
# 404
def sample_status():
# random.sample(status_code, 1) 是一个含一个元素的集合, 取这个集合中的值.
return random.sample(status_code, 1)[0]
#
def sample_referer():
# 获得(0,1)之间的随机数,如果大于0.2,则返回-
if random.uniform(0, 1) > 0.2:
return "-"
refer_str = random.sample(http_referers, 1)
# print refer_str[0]
query_str = random.sample(search_keyword, 1)
# print query_str[0]
return refer_str[0].format(query=query_str[0])
# 产生log
def generate_log(count=10):
time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
f = open("C:\\Users\\zhengmin\\Desktop\\logs\\test.txt", "w+")
# f = open("/home/centos/log/log", "a+")
while count >= 1:
query_log = "{ip}\t{localtime}\t\"GET {url} HTTP/1.0\"\t{referece}\t{status1}".format(ip=sample_ip(),
url=sample_url(),
status1=sample_status(),
referece=sample_referer(),
localtime=time_str)
# print query_log
f.write(query_log + "\n")
count = count - 1;
if __name__ == '__main__':
generate_log(100)
print("1111")