今天看到自己新开的网易博客点击量寥寥,突然兴起,想写一个可以自动点击页面增加点击量的小工具。之前使用C++的时候,苦于找不到访问HTTP协议的API,不想涉及细节去考虑实现,幸好现在有Python自带的强大的urllib库,可以作为HTTP协议访问数据使用。老样子,先看下自己实现的代码原型,很简单:
#A Auto-Visit Web Site Tool
import urllib
import time
import random
print "Auto Click the WebPage for Click-Num..."
for i in range(30):
fs = urllib.urlopen(r'Your URL')
print 'The ', i, 'time click done...'
time.sleep(int(random.uniform(1, 5)))
print 'Auto Click WebPage Done...'
这个程序都没有使用到类,就实现了网页自动点击。开始导入了三个模块,urllib提供访问HTTP网页相关API,time模块主要使用sleep()函数使得程序不要连续执行,random模块是使得间隔时间随机化,主要是考虑不要被判定为恶意访问行为。
程序不难,主要借这个机会来熟悉下urllib这个库吧!Python的官方文档上说urllib库主要用来从WWW页面上获取数据(Fetching the data),因此只提供了“读”操作。下面针对几个要点逐一说明。
1. 版本:自己使用的python-2.7,在3.0版本中urllib模块分成了urllib.request/parse/error三个部分,而且原先的函数urllib.urlopen()也变成了urllib2.urlopen;
2. urllib模块的一个基本函数是urlopen(URL),这个函数参数的URL可以指向一个本地文件,也可以指向一个网络文件;当指向网络文件时,自动调用socket同URL建立连接,这也是我们选择使用该函数获得点击网页效果的原因;函数返回一个类文件对象,但是只能支持文件I/O的读操作,如read()/readline()/readlines(),此外该对象还支持fileno()/info()/getcode()/geturl()/close()等方法;
3. info()函数用来返回目标页面返回的元数据,如果是HTTP协议,返回的是HTML页面的头部,如Content-Length/Content-Type等;如果是本地文件,则返回文件属性,如上次修改的时间等;
4. geturl()函数用来返回网页真正的URL,有时目标服务器会自动引导客户端到其他URL的时候可以用此函数获取导向的URL;
5. getcode():返回HTTP连接的状态代码;
6. urltrieve()方法用于下载某个页面,其第一个参数为目标URL,第二个参数为本地存储文件名,可选,默认不设置时会自动存储于临时文件夹,函数返回一个二元元祖(文件名,头部信息);
7. 可以使用urlcleanup()清空urltrieve()的缓存;
最后运行的结果::
程序的实现比较简单,自己去看了现在的博客,基本都不再是依靠访问量划定等级了,而是靠获取积分,而这与登录次数、日志数量以及来访者评论数量有关,因此想直接提升自己的博客等级也并不是一个简单容易的事情。但是可以考虑通过注册几个工作账号来自动去目标博客评论,做到每天1-3次的评论还是可以的,适当设置转发,这样就成了博客刷积分的bot了。
【本节要点:
1. urllib库的使用,关键是urllib.urlopen(URL)与urllib.urltrieve(URL, [File]);
2. time模块,time.sleep(secs);
3. random模块,random.uniform()\random()】
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com