python实践—网络刷博器

为什么要写这篇博客,是因为最近刚开始学习python没多久,非常巧的是有个朋友问我,说你既然搞IT,能不能帮我刷访问量,我当时犹豫了一下,说试试,然后就回去捣鼓了一下,但是在这里笔者想说一句,并非所有的博客都能刷,最后也没帮我朋友刷成功,因为有些博客的访问量是要根据IP地址来规定的,所以需要频繁地更换网络环境,其实就是出口路由的ip地址要变化才有用,但是有些博客是可以的,比如搜狐的博客,本篇博文就以搜狐的博客为例。

首先声明一点,没有想恶意攻击谁,也没有想弄虚作假,仅仅想展示python的强大,我们是奉公守法的网络良民。

第一步,打开某篇搜狐的博文,观察阅读量

现在阅读量为1033,然后我们在新建网页中打开

发现阅读量变为1034了,这就说明该博客只要打开一次,阅读量就会加1

第二步,设计python的代码的思路

其实代码只要能完成以下两个工作就可以

(1)在新建网页中打开不停地打开该博文,直到达到一定次数就不再打开,假设打开次数为n

(2)第一步执行完毕以后,就立即关闭浏览器,然后再打开浏览器,再重复第一步,如此循环多次,假设循环次数m

那么该博客阅读量就增加了m*n次,在这里笔者想提醒大家一句,为什么要在打开一定次数的网页的时候一定要关闭浏览器,我们都知道,当我们不断打开网页,CPU内存会被不断占用,如果不关闭,会造成内存被耗尽,导致死机,所以在打开一定的网页次数就要关闭浏览器!!!在这里我们使用dos环境中taskkill命令来结束进程。

在cmd中查看taskkill命令详情

C:Users羊羊>taskkill/?

看到如下结果

C:Users羊羊>taskkill/?

TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

描述:
    使用该工具按照进程 ID (PID) 或映像名称终止任务。

参数列表:
    /S    system           指定要连接的远程系统。

    /U    [domain]user    指定应该在哪个用户上下文执行这个命令。

    /P    [password]       为提供的用户上下文指定密码。如果忽略,提示
                           输入。

    /FI   filter           应用筛选器以选择一组任务。
                           允许使用 "*"。例如,映像名称 eq acme*

    /PID  processid        指定要终止的进程的 PID。
                           使用 TaskList 取得 PID。

    /IM   imagename        指定要终止的进程的映像名称。通配符 '*'可用来
                           指定所有任务或映像名称。

    /T                     终止指定的进程和由它启用的子进程。

    /F                     指定强制终止进程。

    /?                     显示帮助消息。

筛选器:
    筛选器名      有效运算符                有效值
    -----------   ---------------           -------------------------
    STATUS        eq, ne                    RUNNING |
                                            NOT RESPONDING | UNKNOWN
    IMAGENAME     eq, ne                    映像名称
    PID           eq, ne, gt, lt, ge, le    PID 值
    SESSION       eq, ne, gt, lt, ge, le    会话编号。
    CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                            hh:mm:ss。
                                            hh - 时,
                                            mm - 分,ss - 秒
    MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用量,单位为 KB
    USERNAME      eq, ne                    用户名,格式为 [domain]user
    MODULES       eq, ne                    DLL 名称
    SERVICES      eq, ne                    服务名称
    WINDOWTITLE   eq, ne                    窗口标题

    说明
    ----
    1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'2) 远程进程总是要强行 (/F) 终止。
    3) 当指定远程机器时,不支持 "WINDOWTITLE""STATUS" 筛选器。

例如:
    TASKKILL /IM notepad.exe
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM cmd.exe /T
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITYSYSTEM" /IM notepad.exe
    TASKKILL /S system /U 域用户名 /FI "用户名 ne NT*" /IM *
    TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"

C:Users羊羊>

例如笔者打开了迅雷这个软件,可以用taskkill来杀死这一进程,迅雷的程序名为Thunder.exe,结果如下

C:Users羊羊>taskkill /F /IM Thunder.exe
成功: 已终止进程 "Thunder.exe",其 PID 为 13788。

C:Users羊羊>

我们发现刚刚打开的迅雷就被关闭了。

所以我们使用taskkill来关闭浏览器,python代码如下

import webbrowser as web
import time
import os
import random
count = random.randint(3,5)
j = 0
while j < count:
    i = 0
    while i <= 5:
        web.open_new_tab('http://aqtyhj.blog.sohu.com/321768697.html')
        i = i + 1
        time.sleep(1.0)
    else:
        os.system('taskkill /F /IM Opera.exe')
        print j, 'times closing browser'
    j = j + 1

在这里,我们仍需要引入第三方函数库httplib2,不然有些函数不能调用,关于httplib2的安装,可以参考笔者的这篇博客,这里就不再赘述。

webbrowser函数的作用是打开链接地址

os是系统自带函数库,目的是为了引入taskkill关闭浏览器

time函数是为了每打开一个网页需要一定的时间延迟,给CPU休息的时间,这里为1s

random是生成随机数,这里的范围是在3~5范围内生成一个随机数,也就是m的次数,而n的次数为i+1,为什么要加1,是因为i从0开始,所以5+1一共就是6次

接下来打开IDLE(python GUI)

点击File,再点击New File,将代码粘贴上去,如下图

再点击File,命名保存

笔者建议保存在python2.7的目录下,就是python的安装目录,保存成功后,点击Run运行代码,由于该过程是动态的,不好捕捉,但是可以在IDEL中看到结果,也可以观察博客的阅读量

 如上图,阅读量应该增加了3*6次,我们看看结果

好像多了一次,因为在这一过程中可能有其它的访客浏览过。

原文地址:https://www.cnblogs.com/chenjie520/p/6272626.html