用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写xml文件的操作实例
Oct 05 Python
python中常用检测字符串相关函数汇总
Apr 15 Python
Python随机读取文件实现实例
May 25 Python
python实现简易内存监控
Jun 21 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
Dec 05 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 Python
TensorFlow——Checkpoint为模型添加检查点的实例
Jan 21 Python
Tensorflow分批量读取数据教程
Feb 07 Python
详解pandas获取Dataframe元素值的几种方法
Jun 14 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
使用sublime text3搭建Python编辑环境的实现
Jan 12 Python
selenium携带cookies模拟登陆CSDN的实现
Jan 19 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 download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
javascript中input中readonly和disabled区别介绍
2012/10/23 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
如何消除inline-block属性带来的标签间间隙
2016/03/31 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
JS实现类似百叶窗下拉菜单效果
2016/12/30 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
Python常见字典内建函数用法示例
2018/05/14 Python
python连接mongodb密码认证实例
2018/10/16 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
python字典改变value值方法总结
2019/06/21 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
浅谈Html5移动端ios/Android兼容性总结
2018/06/01 HTML / CSS
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
经济与贸易专业应届生求职信
2013/11/19 职场文书
升职演讲稿范文
2014/05/23 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
中秋节晚会开场白
2015/05/29 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python