用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 break语句详解
Mar 11 Python
python使用百度翻译进行中翻英示例
Apr 14 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
Apr 17 Python
Python爬豆瓣电影实例
Feb 23 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
Apr 08 Python
Python 读写文件的操作代码
Sep 20 Python
使用PIL(Python-Imaging)反转图像的颜色方法
Jan 24 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
Aug 12 Python
Django REST 异常处理详解
Jul 15 Python
Python如何读写字节数据
Aug 05 Python
Python爬虫使用bs4方法实现数据解析
Aug 25 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 三大特点:封装,继承,多态
2017/02/19 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
setAttribute 与 class冲突解决
2008/02/17 Javascript
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
2014/05/23 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
2016/12/30 NodeJs
AngularJS $http模块POST请求实现
2017/04/08 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
微信小程序实现选择地址省市区三级联动
2020/06/21 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
Python深入学习之内存管理
2014/08/31 Python
Python做智能家居温湿度报警系统
2018/09/25 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
什么是TCP/IP
2014/07/27 面试题
售后主管岗位职责
2013/12/08 职场文书
十八大报告观后感
2014/01/28 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
学前班评语大全
2014/05/04 职场文书
儿童生日会策划方案
2014/05/15 职场文书
初三英语教学反思
2016/02/15 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js