用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系列之新版本导入httplib模块报ImportError解决方案
May 23 Python
Python使用random和tertools模块解一些经典概率问题
Jan 28 Python
Python中的自省(反射)详解
Jun 02 Python
深入讲解Python中的迭代器和生成器
Oct 26 Python
python如何实现远程控制电脑(结合微信)
Dec 21 Python
怎样使用Python脚本日志功能
Aug 14 Python
将python文件打包exe独立运行程序方法详解
Feb 12 Python
Pyspark读取parquet数据过程解析
Mar 27 Python
pandas dataframe 中的explode函数用法详解
May 18 Python
如何让PyQt5中QWebEngineView与JavaScript交互
Oct 21 Python
Jupyter Notebook 安装配置与使用详解
Jan 06 Python
Python+OpenCV实现在图像上绘制矩形
Mar 21 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
实用函数2
2007/11/08 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
改版了网上的一个js操作userdata
2007/04/27 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
JavaScript操作Cookie详解
2015/02/28 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
Node.js+ELK日志规范的实现
2019/05/23 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
python fabric使用笔记
2015/05/09 Python
利用Python循环(包括while&for)各种打印九九乘法表的实例
2017/11/06 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
python用for循环求和的方法总结
2019/07/08 Python
浅析python 字典嵌套
2020/09/29 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
工作自我评价怎么写
2014/01/29 职场文书
公司营业员的自我评价
2014/03/04 职场文书
文明寝室标语
2014/06/13 职场文书
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS
SpringBoot快速入门详解
2021/07/21 Java/Android
Python办公自动化解决world文件批量转换
2021/09/15 Python
HTML基础详解(上)
2021/10/16 HTML / CSS
Pygame Event事件模块的详细示例
2021/11/17 Python