用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接收多播数据的代码
Mar 01 Python
python中的多重继承实例讲解
Sep 28 Python
Python实现数通设备端口使用情况监控实例
Jul 15 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
Apr 11 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
Apr 26 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
python 发送邮件的四种方法汇总
Dec 02 Python
Python之qq自动发消息的示例代码
Feb 18 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 Python
Python实现科学占卜 让视频自动打码
Apr 09 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
人族 Terran 魔法与科技
2020/03/14 星际争霸
PHP编程风格规范分享
2014/01/15 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
2013/11/01 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
2016/02/19 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
JS实现根据数组对象的某一属性排序操作示例
2019/01/14 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
整理Python 常用string函数(收藏)
2016/05/30 Python
pymysql的简单封装代码实例
2020/01/08 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
python如何实现图片压缩
2020/09/11 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
消防安全标语
2014/06/07 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
2014年安全员工作总结
2014/11/13 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
分享一些Java的常用工具
2021/06/11 Java/Android
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python