Python脚本实现虾米网签到功能

yizhihongxing

Python脚本实现虾米网签到功能

简介

虾米网是一款流行的音乐网站,用户可以在虾米网上听音乐、发现音乐、交流音乐。虾米网每日有签到功能,用户可以通过签到获取积分,积分可以用于兑换虾米网的一些礼品。

本文主要介绍使用Python脚本实现虾米网签到功能的方法,以及如何在脚本中模拟用户登录,实现自动签到。

实现步骤

1. 获取登录页面的cookie和code

在进行用户登录前需要获取登录页面的cookie和code,具体请求的url为https://passport.xiami.com/?_q=%7B%22from%22:%22https://www.xiami.com/%22,%22referer%22:%22http://www.xiami.com/%22%7D。该url会返回一个html页面,在该页面中有一段js代码,其中包含了名为lg_token的cookie和名为_xiamitoken的code值。获取这些值的方法为使用requests库向该url发送GET请求,代码示例如下:

import requests

url_1 = "https://passport.xiami.com/?_q=%7B%22from%22:%22https://www.xiami.com/%22,%22referer%22:%22http://www.xiami.com/%22%7D"

response_1 = requests.get(url_1)

cookie = response_1.cookies.get('lg_token')

code = response_1.text.split('value: "')[1].split('"')[0]

print(cookie, code)

运行上述代码,即可获取cookie和code值。

2. 模拟登录并获取签到所需token值

获取到cookie和code后,接下来需要模拟用户进行登录,并获取签到所需的token值。登录虾米网需要使用POST方法,同时需要在请求header中添加“x-requested-with”参数,其中的值为“XMLHttpRequest”以模拟ajax请求。登录虾米网后会返回一个名为"_m_h5_tk"的cookie值,该cookie值用于后续签到请求的token认证。获取该cookie值的方法为在请求header中添加“referer”参数,值为虾米网登录页面的url,还需在payload中添加用户名和密码,代码示例如下:

import requests
from hashlib import md5
import time

url_login = "https://passport.xiami.com/login"

username = "YOUR_USERNAME" # 虾米网的用户名
password = "YOUR_PASSWORD" # 虾米网的密码
payload = {"account": username, "password": md5(password.encode("utf8")).hexdigest(), "remember": "true",
           "_xiamitoken": code}

header_login = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) chrome/58.0.3029.110 Safari/537.36',
                'Host': 'passport.xiami.com', 'Referer': 'https://passport.xiami.com/login',
                'Origin': 'https://passport.xiami.com', 'x-requested-with': 'XMLHttpRequest'}

response_2 = requests.post(url_login, data=payload, headers=header_login)

cookie_m_h5_tk = response_2.cookies.get("_m_h5_tk").split("_")[0]

print(cookie_m_h5_tk)

运行上述代码,即可获取cookie_m_h5_tk值。

3. 签到

获取到cookie_m_h5_tk值后,就可以进行签到了。签到需要向https://www.xiami.com/task/signin/ajax?_q=%7B%22xf%22:%22pcweb%22,%22_rt%22:%22b%22%7D发送POST请求,其中需在请求header中添加"Referer"参数,值为"https://www.xiami.com/",还需添加cookie_m_h5_tk参数,代码示例如下:

import requests

url_sign = "https://www.xiami.com/task/signin/ajax?_q=%7B%22xf%22:%22pcweb%22,%22_rt%22:%22b%22%7D"

header_sign = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) chrome/58.0.3029.110 Safari/537.36',
                'Host': 'www.xiami.com', 'Referer': 'https://www.xiami.com/',
                'Origin': 'https://www.xiami.com', 'X-Requested-With': 'XMLHttpRequest',
                'cookie': '_m_h5_tk=' + cookie_m_h5_tk}

response_3 = requests.post(url_sign, headers=header_sign)

print(response_3.json())

运行上述代码即可完成签到并查看签到结果。

总结

本文介绍了使用Python脚本实现虾米网签到功能的方法,其中包含获取登录页面的cookie和code、模拟登录并获取签到所需token值、签到三个步骤。通过本文介绍的方法,用户可以方便快捷地进行虾米网的自动签到。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python脚本实现虾米网签到功能 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • Python中的二叉树查找算法模块使用指南

    Python中的二叉树查找算法模块使用指南 二叉树是一种重要的数据结构,常用于实现查找和排序算法。本文将介绍Python中的二叉树查找算法模块的使用指南,包括模块的功能、使用方法和示例说明。 功能 Python中的二叉树查找算法模块,可以实现以下几种功能: 插入元素 查找元素 删除元素 广度优先遍历 深度优先遍历 安装 可以通过pip安装二叉树模块,安装命令…

    云计算 2023年5月18日
    00
  • AZure云计算学习(云计算,雾计算,边缘计算)

    1. AZure云计算学习(云计算,雾计算,边缘计算) 云计算让我们相信集中; 你相信什么,就会得到什么 相同信仰的技术,才能形成生态。 (商业)分布,开放,对等 (技术)封闭,集中,层级 传统思维(质量优先) 互联网思维(效率优先)资源共享,信息互联 centos ,linux,ubuntu ceph,HDFS, mongodb,mysql kafaka,…

    云计算 2023年4月13日
    00
  • PHP程序员的技术成长规划

    PHP程序员的技术成长规划 1. 学习基础知识 1.1 掌握基础语法 作为一名PHP程序员,基础语法的熟练掌握是必须的。包括变量、函数、数组、循环、条件语句等。可以通过阅读官方文档或者参加在线课程进行学习。同时,也需要掌握基础的SQL语法。 1.2 掌握编程范式 编程范式是程序员必须掌握的基本技能之一。包括函数式编程、面向对象编程、面向切面编程等。对不同的编…

    云计算 2023年5月17日
    00
  • jQuery的3种请求方式$.post, $.get, $.getJSON

    jQuery的3种请求方式$.post, $.get, $.getJSON jQuery 是一个非常流行的 JavaScript 库,它提供了很多方便的方法来操作 DOM、处理事件、发送 AJAX 请求等。其中,$.post、$.get 和 $.getJSON 是 jQuery 中常用的三种请求方式,本文将详细讲解它们的用法和区别。 $.post $.pos…

    云计算 2023年5月16日
    00
  • 金融系统NTP时钟同步(网络校时服务器)架设工作详情

    金融系统NTP时钟同步(网络校时服务器)架设工作详情 金融系统NTP时钟同步(网络校时服务器)架设工作详情 京准电子科技官微——ahjzsz 一、选型思考方面 对于NTP时钟服务器设备的选择应该从本单位实际使用情况和市场上设备情况进行综合分析,选取最优方案来,尽量避免非相关因素对设备选型的干扰。在NTP系统中一般20ms以内系统认为是一个时间,超过20ms系…

    云计算 2023年4月17日
    00
  • 云计算平台(数据篇)-MySql高可用平台搭建Master-Slave

    公司MYSQL集群安装环境为Red hat 5或Client OS6.8 MSQL集群软件版本为7.2.8(http://www.mysql.com/downloads/cluster/) MYSQL集群安装 a)         节点配置 1.Wget MYSQL软件包至 /software下 2.对MYSQL软件包进行解压 Tar –zxvf mysql…

    云计算 2023年4月11日
    00
  • OpenStack云计算平台框架

    概:  OpenStack是包含很多独立组件的一个云计算平台框架。在安装组件前,需要先将框架搭建出来,才能向其中放置组件。       搭建open stack云计算平台框架 一、安装open stack云计算平台框架、升级所有软件包 安装:   yum -y install centos-release-openstack-train 命名方式:CentO…

    2023年4月10日
    00
  • .net 6精简版webapi教程及热重载、代码自动反编译演示

    .NET 6精简版Web API教程及热重载、代码自动反编译演示攻略 简介 本攻略旨在提供一个深入、完整的.NET 6精简版Web API教程,帮助开发者快速掌握.NET 6的基础知识和Web API的开发技巧,并且介绍.NET 6中新增的热重载和代码自动反编译功能的使用方法。 准备工作 安装Visual Studio 2022或更高版本 下载并安装.NET…

    云计算 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部