python爬虫--获取微信投票中所有选手的票数以及其他详情信息

该博客介绍了一个Python脚本,用于抓取微信投票平台上的所有选手信息,并将其整理成表格存储为Excel文件。脚本通过POST请求获取投票列表,手动更换token以保持登录状态,并遍历所有页面获取详细数据,包括项目名称、排名、票数等信息。
摘要由CSDN通过智能技术生成

一、前言

  • 功能:获取微信投票所有选手的信息,绘制成表格。
  • 需要手动操作:因为需要微信登录,所以每十几分钟需要手动换一下token

二、代码

import requests
import json
from xlwt import *

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0",
    "token": "tWHfLl3/7mCadgpZYPoSDQ==" # 需要自己打开浏览器看请求,换token
}

id_list = []
for page in range(1, 7):
    url = "https://vote.tyzyz.com.cn/api/vote/get_vote_list.json"
    data = {
        "code_and_name": "",
        "recommend_type": 0,
        "pageno": page,
        "pagesize": 10,
        "area": ""
    }
    page_text = requests.post(url=url, headers=headers, data=data).text
    rows = json.loads(page_text)["data"]["page_list"]["rows"]
    for i in rows:
        id_list.append(i["id"])

message_list = [
    ["项目名称", "排名", "票数", "执行团队", "项目类型", "项目来源", "项目起源"],
    # ["项目名称", "排名", "票数", "执行团队", "项目类型", "项目来源"],
]
for id in id_list:
    url = "https://vote.tyzyz.com.cn/api/vote/get_id_vote.json?id=" + str(id)
    page_text = requests.get(url=url, headers=headers).text
    rows = json.loads(page_text)["data"]
    message = []
    message.append(rows["name"])
    message.append(rows["number"])
    message.append(rows["votes"])
    message.append(rows["orgname"])
    message.append(rows["recommendType"])
    message.append(rows["area"])
    message.append(rows["briefDeeds"])
    message_list.append(message)

# 写进Excel
# 指定file以utf-8的格式打开
file = Workbook(encoding='utf-8')
# 指定打开的文件名
table = file.add_sheet('message')
for i in range(0, len(message_list)):
    message_i = message_list[i]
    for j in range(0, len(message_i)):
        table.write(i + 1, j, message_i[j])
file.save('./message.xlsx')

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值