https://github.com/A-lPha/shualiuliang.py.git
这段代码基于python 2.7
,主要作用是模拟浏览器访问网页,间隔10秒刷新第二次。
代码内容:
# -*- coding=utf-8 -*-
import urllib2
import time
print "访问流量开始..."
brushNum = 5760
for i in range(brushNum):
url="http://blog.csdn.net/a_lpha/article/details/53116767"
req_header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Accept':'text/html;q=0.9,*/*;q=0.8',
'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding':'gzip',
'Connection':'close',
'Referer':None
}
req_timeout = 5
req = urllib2.Request(url,None,req_header)
resp = urllib2.urlopen(req,None,req_timeout)
html = resp.read()
print "Success!\t","第",i + 1,"次"
print "休息10秒继续...\n"
time.sleep(10)
上边这段代码应该可以直接复制使用,不过我把这段代码放到树莓派里,在运行一段时间(很久一段时间)后,会提示一个关于urllib
的错误,现在还不是很明白脚本停止的原因。
=======================分割线=======================
找到了问题的所在,是因为超时导致的,主要还是因为上边的代码设置的超时时间过短,经过一天的测试,效果比之前的好一些。贴代码:
# -*- coding=utf-8 -*-
import urllib2
import socket
import time
urls = raw_input("Please enter a web address: \n> ")
print "\nAccess web page start..."
brushNum = 3600
for i in range(brushNum):
url = urls
socket.setdefaulttimeout
req_header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Accept':'text/html;q=0.9,*/*;q=0.8',
'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding':'gzip',
'Connection':'close',
'Referer':None
}
req_timeout = 60
req = urllib2.Request(url,None,req_header)
resp = urllib2.urlopen(req,None,req_timeout)
html = resp.read()
print "Success!\t",i + 1
print "Rest 10 seconds to continue...\n"
time.sleep(10)
这次重构了代码,运行脚本会提示输入需要刷新的网页,刷新次数默认为3600
,超时时间改为120
秒,这样效果好一点。