通过python3实现投票功能代码实例


Posted in Python onSeptember 26, 2019

这篇文章主要介绍了通过python3实现投票功能代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

import urllib.request
# cd C:\Python36-32\Scripts
# pip install BeautifulSoup
from bs4 import BeautifulSoup


def vote(get_url, post_url, option):
  # 访问投票页面,拿到cookie
  resp = urllib.request.urlopen(get_url)
  cookie = resp.getheader('Set-Cookie')
  # print(cookie)

  # 读取response信息
  html = resp.read()
  # HTML解析器,拿到vote_option
  bs = BeautifulSoup(html, "html.parser")
  # 后台校验的动态验证码,随自己业务调整
  secret_key = bs.find('input', id='secret_key').get("value")
  # print(vote_option)

  # hearders部分,cookie等
  headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
        'Cookie': cookie}

  # post提交的数据,第一个为选中的复选框选项(多个中间逗号分隔),第二个为动态码(后台校验)
  data_json = {'option': option, 'secret_key': secret_key}
  # string转为byte类型,因为客户端校验要求
  data = urllib.parse.urlencode(data_json).encode("utf-8")
  # post请求,提交投票数据
  req = urllib.request.Request(post_url, headers=headers, data=data)
  response = urllib.request.urlopen(req)
  # 查看返回结果,转码为中文
  print(bytes.decode(response.read()))
def deal():
  # get连接、post链接、选项 根据自己业务修改
  get_url = ""
  post_url = ""
  option = ""
  vote(get_url, post_url, option)
deal()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python进阶教程之异常处理
Aug 30 Python
Python统计文件中去重后uuid个数的方法
Jul 30 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
python 检查是否为中文字符串的方法
Dec 28 Python
Python Matplotlib实现三维数据的散点图绘制
Mar 19 Python
ipad上运行python的方法步骤
Oct 12 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
Jun 03 Python
使用python实现名片管理系统
Jun 18 Python
Python基于百度API识别并提取图片中文字
Jun 27 Python
python分分钟绘制精美地图海报
Feb 15 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 Python
python高温预警数据获取实例
Jul 23 Python
Python编写打字训练小程序
Sep 26 #Python
Python 如何优雅的将数字转化为时间格式的方法
Sep 26 #Python
python3.7实现云之讯、聚合短信平台的短信发送功能
Sep 26 #Python
python 模拟创建seafile 目录操作示例
Sep 26 #Python
python RC4加密操作示例【测试可用】
Sep 26 #Python
python使用 __init__初始化操作简单示例
Sep 26 #Python
如何安装2019Pycharm最新版本(详细教程)
Sep 26 #Python
You might like
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
asp.net和php的区别点总结
2019/10/10 PHP
一段好玩的JavaScript代码
2006/12/01 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
jquery map方法使用示例
2014/04/23 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
让Python代码更快运行的5种方法
2015/06/21 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
python解析多层json操作示例
2019/12/30 Python
在python中求分布函数相关的包实例
2020/04/15 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
电力安全事故反思
2014/04/27 职场文书
交通文明倡议书
2014/05/16 职场文书
运输公司工作总结
2015/08/11 职场文书
诚实守信主题班会
2015/08/13 职场文书
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
Python的这些库,你知道多少?
2021/06/09 Python
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL