用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实现读取文件最后n行的方法
Feb 23 Python
Python模拟三级菜单效果
Sep 11 Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 Python
对python特殊函数 __call__()的使用详解
Jul 02 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
在Django中实现添加user到group并查看
Nov 18 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 Python
详解查看Python解释器路径的两种方式
Oct 15 Python
pytorch 计算Parameter和FLOP的操作
Mar 04 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 冒泡排序算法的实现代码
2010/08/08 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
微信公众平台开发教程(五)详解自定义菜单
2016/12/02 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
vue2.0 路由模式mode="history"的作用
2018/10/18 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
小程序两种滚动公告栏的实现方法
2019/09/17 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
2020/09/12 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
matplotlib 纵坐标轴显示数据值的实例
2018/05/25 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
python用requests实现http请求代码实例
2019/10/31 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
python的sys.path模块路径添加方式
2020/03/09 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
美国鲜花递送:UrbanStems
2021/01/04 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
国企干部对照检查材料
2014/08/22 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
客户答谢会致辞
2015/01/20 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
php中pcntl_fork详解
2021/04/01 PHP
Go语言实现Snowflake雪花算法
2021/06/08 Golang
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL
python游戏开发之pygame实现接球小游戏
2022/04/22 Python