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

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求numpy中array按列非零元素的平均值案例

    求numpy中array按列非零元素的平均值的过程可以分为以下几步: 1.导入numpy库,创建一个numpy array。 import numpy as np arr = np.array([[1, 2, 0], [0, 5, 0], [7, 0, 0]]) 2.找出每列非零元素的下标。 non_zero_indexes = np.nonzero(arr…

    云计算 2023年5月18日
    00
  • 微软云计算的三种运营模式 – 风清扬令狐冲

    微软云计算的三种运营模式 微软云计算拓展战略包括三大取向,即三种不同的云计算运营模式: 第一种,微软出资搭建,客户付费享用。微软正在全球范围内包括中国搭建统一的公共云服务平台,同时向各类企业、社会组织和个人消费者等客户提供云服务。   < wind_code_1 > 图一:微软云计算结构示意图   例如,微软向最终使用者提供的Online Ser…

    云计算 2023年4月11日
    00
  • Pandas 合并多个Dataframe(merge,concat)的方法

    下面是关于Pandas合并多个DataFrame的攻略: 1. Pandas合并多个DataFrame的方法 Pandas提供了多种方法来合并多个DataFrame,常见的方法有 merge 和 concat。其中merge主要按照列或者行的索引进行合并,concat则是按照行或者列进行合并。在实际应用过程中,我们需要选择合适的合并方法来完成具体的任务。 2…

    云计算 2023年5月18日
    00
  • 详谈jQuery Ajax(load,post,get,ajax)的用法

    下面是关于“详谈jQuery Ajax(load,post,get,ajax)的用法”的完整攻略,包含两个示例说明。 简介 在Web开发中,Ajax是一种非常重要的技术。它可以在不刷新整个页面的情况下,通过异步请求从服务器获取数据并更新页面。jQuery是一种流行的JavaScript库,它提供了一组方便的Ajax方法,包括load、post、get和aja…

    云计算 2023年5月16日
    00
  • 大疆运动相机Action 3怎么样? DJI Action 3运动相机评测

    大疆运动相机Action 3是一款高性能的运动相机,具有出色的性能和设计。如果您正在考虑购买DJI Action 3,以下是一些攻略和评测,供您参考: 1. 了解DJI Action 3的性能和功能 DJI Action 3具有出色的性能和功能,包括: 5K视频拍摄 20MP照片拍摄 1.4英寸前置屏幕和2.25英寸后置屏幕 防水、防尘、防摔设计 高品质的镜…

    云计算 2023年5月16日
    00
  • ASP.NET 上传文件到共享文件夹的示例

    下面我将详细讲解ASP.NET上传文件到共享文件夹的完整攻略,包含基本原理和代码实现。 基本原理 在ASP.NET中实现上传文件到共享文件夹的过程,需要使用到C#中提供的File类和Path类。File类提供了在文件系统中创建、复制、删除、移动和打开文件的静态方法,这些方法可直接使用而不必创建File类的实例。Path类则提供了用于处理路径字符串的方法。我们…

    云计算 2023年5月17日
    00
  • 开源:云寻觅中文分词 (Yunxunmi Chinese Word Segmentation) ,词汇440万,10万字文章分词并计算频率不超过1秒

    开源:云寻觅中文分词 (Yunxunmi Chinese Word Segmentation) ,词汇440万,10万字文章分词并计算频率不超过1秒 云寻觅中文分词 (Yunxunmi Chinese Word Segmentation) 指的是将一个汉字序列切成一个一个单独的词。云寻觅中文分词就是将连续的字序列按照一定的规范重新组合成词序列的 过程。中文分…

    2023年4月10日
    00
  • “云计算之旅”筹备完成,意见征询!

      大家好,首先很高兴”WPF 基础到企业应用系列”能得到大家的关注、支持和认可。最近几个月由于白天要研究云计算专题(公司项目和个人爱好原因),晚上和闲暇时间才写WPF,所以就没能很好专注于一个方面而拖慢了WPF系列的进度,在此也表示深深地歉意。原打算写完WPF这个系列以后才继续“云计算之旅”这个系列,但是经过慎重的思考,同时也考虑到录制视频的关系,所以我决…

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