用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 爬虫爬取指定博客的所有文章
Feb 17 Python
详谈Python高阶函数与函数装饰器(推荐)
Sep 30 Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 Python
python机器学习之神经网络(二)
Dec 20 Python
python实现csv格式文件转为asc格式文件的方法
Mar 23 Python
解决python写入带有中文的字符到文件错误的问题
Jan 31 Python
Python List cmp()知识点总结
Feb 18 Python
Python3.5 Pandas模块之DataFrame用法实例分析
Apr 23 Python
完美解决python3.7 pip升级 拒绝访问问题
Jul 12 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
如何在pycharm中安装第三方包
Oct 27 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 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实现三级级联下拉框
2016/04/17 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
Vue.js鼠标悬浮更换图片功能
2017/05/17 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
Python操作MySQL数据库的方法
2018/06/20 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
Python整数对象实现原理详解
2019/07/01 Python
python 标准差计算的实现(std)
2019/07/29 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
Python使用socket_TCP实现小文件下载功能
2020/10/09 Python
用 python 进行微信好友信息分析
2020/11/28 Python
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
参观监狱心得体会
2014/01/02 职场文书
诚信承诺书范文
2014/03/27 职场文书
校本教研活动总结
2014/07/01 职场文书
煤矿安全生产月活动总结
2014/07/05 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
2014年教务工作总结
2014/12/03 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
MySQL的Query Cache图文详解
2021/07/01 MySQL
html form表单基础入门案例讲解
2021/07/15 HTML / CSS