这是一个模拟用户访问的程序,充分体现了用户访问的随机性和时间间隔不确定性。
python代码如下:
import random
import time
from urllib import request
def login():
count = 0
while 1:
j = ['添加链接','添加链接','添加链接','添加链接','添加链接']
data = {}
header = {
'User-Agent': 'User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
n = len(j)
k = random.randint(0,n-1)
s = j[k]
myrequest = request.Request(s, data, headers=header)
rec = request.urlopen(myrequest)
page = rec.read()
count += 1
print("number of times:")
print(count)
m = random.randint(3,10)
time.sleep(m)
login()
下面对代码进行分析:
import random import time from urllib import request def login(): count = 0 while 1: j = ['添加链接','添加链接','添加链接','添加链接','添加链接'] 在此处以这种格式输入要访问的网址,数量可以增加,也可以减少。 data = {} header = { 'User-Agent': 'User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'} n = len(j)此处可以算出你输入的网址个数 k = random.randint(0,n-1)在0~n-1之间获取一个随机整数,由于之前已经计算出n是你输入的网址个数,下面我们将从你输入的网址中随机访问一个,这恰好模拟了用户的访问是随机的,如果按顺序依次访问或者一直访问一个网址,可能会导致异常 s = j[k]获取即将被访问的网址,k就是之前求出的那个随机数,随机访问你输入的其中一个网址 myrequest = request.Request(s, data, headers=header)开始访问 rec = request.urlopen(myrequest) page = rec.read() count += 1记录访问次数 print("number of times:")打印出访问次数,方便用户查看次数 print(count) m = random.randint(3,10)在3~10之间获取一个随机整数,这个整数是将程序暂停m秒,模仿了用户访问网址的时间间隔是随机的,如果比较着急可以缩小范围,比如2~5等等,也可以直接固定值为1,甚至不用暂停,直接进行下一次访问,但建议不要这样,也不要固定一个值,因为容易导致异常,发现你的浏览量在有规律地快速增加,可能会导致程序异常中断 time.sleep(m)让程序暂停m秒 login() 评价:这个程序模拟了用户的随机性和不确定性,时间间隔甚至可以设为0~10,0~20等等,因为间隔0秒,连续两个用户访问在实际生活中也是存在这种情况的。