这段代码基于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! ","第",i + 1,"次" print "休息10秒继续... " time.sleep(10)
上边这段代码应该可以直接复制使用,不过我把这段代码放到树莓派里,在运行一段时间(很久一段时间)后,会提示一个关于urllib的错误,现在还不是很明白脚本停止的原因。
找到了问题的所在,是因为超时导致的,主要还是因为上边的代码设置的超时时间过短,经过一天的测试,效果比之前的好一些。贴代码:
# -*- coding=utf-8 -*- import urllib2 import socket import time urls = raw_input("Please enter a web address: > ") print " Access 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! ",i + 1 print "Rest 10 seconds to continue... " time.sleep(10)
这次重构了代码,运行脚本会提示输入需要刷新的网页,刷新次数默认为3600
,超时时间改为120
秒,这样效果好一点。
原文地址:https://blog.csdn.net/A_lPha/article/details/53485733
版权声明
1.本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2.本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3.若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
4.若内容涉及侵权或违法信息,请联系本站管理员进行下架处理,邮箱ganice520@163.com(本站不支持其他投诉反馈渠道,谢谢合作)
- 上一篇: E4A教程:JSON解析案例
- 下一篇: PHP常用加密解密功能函数收集
发表评论