用python实现刷点击率的示例代码


Posted in Python onFebruary 21, 2019

背景

同事的老爸参加微信的一个活动,需要刷点击率,因此,写了一个程序助之。

准备

微信活动也是有真实地址的。

通过mitmproxy(man in the middle proxy)的方式,可以获取微信获取网页的真实地址(url)。

完整可运行代码

import os
import time
import argparse
import platform

def visit_win(url, times, duration):
  import urllib2
  def _visit_win():
    try:
      s = urllib2.urlopen(url).read()
    except urllib2.HTTPError,e:
      print (e.code)
  for i in range(times):
    _visit_win()
    print("{} Done!".format(i+1))
    #do not use duration in win

def visit_linux(url, times, duration):
  import subprocess
  cmd = "curl {}".format(url)
  for i in range(times):
    subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE,shell=True)
    print("{} Done!".format(i+1))
    time.sleep(duration)

def parse_input():
  input_parser = argparse.ArgumentParser()
  input_parser.add_argument("--url",'-u', help="the url your need to visit")
  input_parser.add_argument("--times",'-t', type=int, default=10, help="how many times you need to visit")
  input_parser.add_argument("--duration",'-d', default=0.5, type=float, help="the duration between two visits")
  input_args = input_parser.parse_args()
  url = input_args.url
  times = input_args.times
  duration = input_args.duration
  return url, times, duration 

def main():
  url, times, duration = parse_input()
  if platform.system().lower() == 'linux':
    visit_linux(url, times, duration)
  else:
    visit_win(url, times, duration)
  print("My evil job is finished!")

if __name__ == '__main__':
  main()

我的说明

跨平台

linux通过curl可以非常快速的访问。

但是同事不懂linux,只能通过urllib库写个跨平台的实现

可扩展性

为了增加程序的通用性,加入argparse库,通过程序入参实现灵活应用。

**注意:

推荐使用argparse,WXCOP的很多同学还是使用老的OPTPARSE库,argparse是用来替代OPTPARSE库的(来自官方)**

速度

使用subprocess库会比os.system的方式快,因为,它会fork一个进程,而os.system是阻塞(等待网页返回很慢),速度快很多。

另外,保留了linux的curl方式,它比urllib库要快

函数内的函数

visit_win里还有一个只能内部使用的_visit_win

这样可以表明这个函数的作用域

库的导入

没有呆板的在开头导入所有需要的库,而是根据操作系统,在需要时,才导入特定的库

期望大家的优化

代码里留了优化空间,例如使用线程的方式加快urllib的访问速度等

最后

我写python好几年了,有很多积累,欢迎python爱好者一起交流。

以上这篇用python实现刷点击率的示例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现ftp客户端示例分享
Feb 17 Python
Python实现的RSS阅读器实例
Jul 25 Python
使用python为mysql实现restful接口
Jan 05 Python
对python sklearn one-hot编码详解
Jul 10 Python
python实现QQ批量登录功能
Jun 19 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
Jan 13 Python
Python-jenkins模块获取jobs的执行状态操作
May 12 Python
Python图像阈值化处理及算法比对实例解析
Jun 19 Python
Python实现Kerberos用户的增删改查操作
Dec 14 Python
python调试工具Birdseye的使用教程
May 25 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 05 Python
Python如何利用pandas读取csv数据并绘图
Jul 07 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
Feb 21 #Python
python根据文章标题内容自动生成摘要的实例
Feb 21 #Python
python3.6实现学生信息管理系统
Feb 21 #Python
Python基于滑动平均思想实现缺失数据填充的方法
Feb 21 #Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
Feb 21 #Python
python+mysql实现学生信息查询系统
Feb 21 #Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 #Python
You might like
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
php常用数组函数实例小结
2016/12/29 PHP
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
详解Angular 4.x 动态创建组件
2017/04/25 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
JavaScript中splice与slice的区别
2017/05/09 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
python开发利器之ulipad的使用实践
2017/03/16 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
python实现数据库跨服务器迁移
2018/04/12 Python
PyQt5每天必学之QSplitter实现窗口分隔
2018/04/19 Python
Python os.access()用法实例
2019/02/18 Python
Python递归函数实例讲解
2019/02/27 Python
django-allauth入门学习和使用详解
2019/07/03 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
Python 串口通信的实现
2020/09/29 Python
Python制作简单的剪刀石头布游戏
2020/12/10 Python
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
What is view? why do we have view?
2012/06/22 面试题
介绍一下XMLHttpRequest对象
2012/02/12 面试题
机电一体化专业应届生求职信
2013/11/27 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
中学生英语演讲稿
2014/04/26 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
python 管理系统实现mysql交互的示例代码
2021/12/06 Python