码迷,mamicode.com
首页 > 编程语言 > 详细

python3 投票

时间:2019-09-26 11:54:48      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:动态   cookie   ade   post   mozilla   bsp   utf-8   NPU   根据   

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()

 

python3 投票

标签:动态   cookie   ade   post   mozilla   bsp   utf-8   NPU   根据   

原文地址:https://www.cnblogs.com/songfei90/p/11589539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!