朋友圈微信投票很麻烦?python开发个自动化刷票脚本,再也不用头痛了!

发布时间:2025-12-09 21:55:23 浏览次数:3

现在部分比赛为了推广赞助商或者比赛本身,需要参赛队伍进行网上拉票,甚至票数还会占一定比例的成绩。因此,刷票也就应运而生了。此次我们团队参加一个比赛,就需要网上投票决出前几名,作为一位技术人员,当然是得“解决”技术能解决的问题嘛,所以就写了个刷投票插件来刷一刷。

原理
刷票的原理很简单,就是相当于模拟人登录网站去投票,只是把这个过程程序化,让程序代替人到网站去投票。具体一点说把,首先是客户端(我们)发出请求(Request)给服务端(投票网站),跟他们说,我们需要看他们网站的信息,然后服务端就会回复(Respose)我们,我们再把填好的表单发给他们(Request),他们收到后就会回复我们(Respose)。

主要内容
分析网站

表单提交

构造代理IP池

  • 分析网站
  • 由于每个网站需要提交的信息都不一样,那么首先我们需要对目标网站进行相对应的分析,找出他们的表单接口(也就是URL或者叫网址)以及我们需要提交的信息。

    1.1 收集信息

    使用F12,打开审核元素,点击Network,真实地进行一次表单提交

    框住的两个内容就是我们需要知道的一部分表单信息

    • Request URL:请求网址,我们提交的信息就是传到这个url里面去

    • Request method:请求方法,我们提交的方法

    怎么找?分析源代码,找了找,果真还让我找到了!

    看出什么没有,它这里有两个致命的漏洞:

  • 它允许提交3支或3支以上的队伍,并且没有限制最大数量,只限制了最少数量。

  • 它没有进行相同数据的筛选。

  • 表单提交
    构造表单信息

    请求头信息

    headers = {
    'Accept': '/',
    'Accept-Encoding': 'gzip',
    'Accept-Language': 'zh-CN',
    'Connection': 'keep-alive',
    'Content-Length': '16',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Host': 'www.dingnf.com',
    'Origin': 'http://www.dingnf.com',
    'Referer': 'http://www.dingnf.com/active/wxws_s',
    'User-Agent': 'Mozilla/4.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.3029.110 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest'
    }

    post表单网址

    url = "http://www.dingnf.com/active/wxws_t"
    params = {'ids': ['22', '22', '22']}
    r = requests.post(url=url, data=params, headers=headers, proxies=proxies)

    构造代理IP池

    构造IP代理容器

    def WriteIPadress():
    all_url = [] # 存储IP地址的容器

    代理IP的网址

    url = "http://api.xicidaili.com/free2016.txt"
    r = requests.get(url=url)
    all_url = re.findall("d+.d+.d+.d+:d+",r.text)
    with open("D:\code\python\new\Brush ticket\IP.txt",'w') as f:
    for i in all_url:
    f.write(i)
    f.write(' ')
    return all_url

    主函数

    由于某些IP地址是存在问题的,所以需要设置异常处理,以便让程序能够正常运行,而API的数据每15分钟更新一次,我们每跑完一遍列表的时间也差不多,因此也就不做其他处理了。

    运行日志

     

    代码

     

    在这里还是要推荐下我自己建的Python学习群,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

    需要做网站?需要网络推广?欢迎咨询客户经理 13272073477