用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获取电脑硬件信息及状态的实现方法
Aug 29 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
简单谈谈Python中的json与pickle
Jul 19 Python
Django学习教程之静态文件的调用详解
May 08 Python
使用pandas read_table读取csv文件的方法
Jul 04 Python
Python基础之函数的定义与使用示例
Mar 23 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
django 中的聚合函数,分组函数,F 查询,Q查询
Jul 25 Python
python中的数组赋值与拷贝的区别详解
Nov 26 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
python如何查看网页代码
Jun 07 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
Oct 15 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
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
玩转虚拟域名◎+ .
2006/10/09 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
php文件包含的几种方式总结
2019/09/19 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
自动检查并替换文本框内的字符
2006/06/30 Javascript
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
微信小程序实现watch监听
2020/06/04 Javascript
Vue单文件组件开发实现过程详解
2020/07/30 Javascript
让python json encode datetime类型
2010/12/28 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
函授本科毕业生自我鉴定
2013/10/16 职场文书
会议通知格式范文
2015/04/15 职场文书
父母教会我观后感
2015/06/17 职场文书
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技
如何通过cmd 连接阿里云服务器
2022/04/18 Servers
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL