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采集猫眼两万条数据 对《无名之辈》影评进行分析

    Python采集猫眼两万条数据对《无名之辈》影评进行分析 1. 确定要采集的数据 首先,我们需要确定要采集的数据。本攻略中,我们需要采集的数据为猫眼电影《无名之辈》的影评数据,包括用户的评分、评论内容、点赞数、评论时间等信息。 2. 使用Python进行网页爬取 我们可以使用Python编写爬虫程序,通过网络爬取猫眼电影《无名之辈》的影评数据。在Python…

    云计算 2023年5月18日
    00
  • IBM SPSS Modeler 18 Premium 中文永久破解版安装教程(破解文件)

    IBM SPSS Modeler 18 Premium 中文永久破解版安装教程(破解文件) 完整攻略 IBM SPSS Modeler 18 Premium 是一款用于数据挖掘、预测分析和决策支持的软件,国内许多用户都需要中文版,但是官方并没有提供中文版,因此有用户会选择破解版。下面我们将分享如何安装和破解 IBM SPSS Modeler 18 Premi…

    云计算 2023年5月18日
    00
  • 中国电信云计算及SDx联合技术开发实验室执行主任王峰:中国电信SDN/NFV实践-从边缘到核心…

    2016年6月1-2日,“2016全球SDNFV技术大会”在北京盛大召开。作为连续举办三届的SDN/NFV技术与产业盛会,本届大会着眼于SDN/NFV的实践应用与部署,从SDN/NFV在运营商网络、企业网、云数据中心、测试解决方案等多个场景的应用出发,深入解析产业部署现状及面临的挑战与发展趋势。 中国电信云计算及SDx联合技术开发实验室执行主任王峰 在大会第…

    云计算 2023年4月13日
    00
  • 云计算“软硬”之争:管用才是王道

    如今,谈云不谈混合云就是耍流氓的时代来了。相比国外私有云、公有云泾渭分明,中国的大型政企、泛互联网企业甚至一些中小企业,既要安全与合规,又要业务的灵活与适配,人人见面恨不得都得问一句:你混合云了吗? 而中大型政企才是上云的主力。随着行业创新从数字化迈向智能化,数字化转型从边缘应用拓展到核心应用,从新应用辐射到传统应用,中大型政企在云化时遇到的最大颈瓶是,基础…

    云计算 2023年4月13日
    00
  • C# 函数返回多个值的方法详情

    C# 函数返回多个值的方法详情 在本攻略中,我们将详细讲解 C# 中函数返回多个值的方法,包括使用 Tuple、out 参数和自定义类型等方式。 使用 Tuple 返回多个值 在 C# 7.0 及以上版本中,可以使用 Tuple 返回多个值。Tuple 是一个泛型类,可以包含多个元素。 以下是一个使用 Tuple 返回多个值的示例: public stati…

    云计算 2023年5月16日
    00
  • 大话:边缘计算、雾计算、云计算

    云计算 一种利用互联网实现随时随地、按需、便捷地使用共享计算设施、存储设备、应用程序等资源的计算模式。云计算系统由云平台、云存储、云终端、云安全四个基本部分组成,云平台从用户的角度可分为公有云、私有云、混合云等。通过从提供服务的层次可分为:基础设施即服务(Iaas)、平台即服务(Paas)和软件即服务(Saas) 通过将应用部署到云端后,可以不必再关注那些令…

    云计算 2023年4月13日
    00
  • Python练习之读取XML节点和属性值的方法

    下面是关于“Python练习之读取XML节点和属性值的方法”的完整攻略: 1. 准备工作 在 Python 中读取 XML 文件,需要使用到内置库xml.etree.ElementTree,这个库提供了解析和生成 XML 文档的方法。 在 Python 中可以使用 pip 工具进行安装: pip install xml.etree.ElementTree 2…

    云计算 2023年5月18日
    00
  • 4种API性能恶化根因分析

    摘要:服务发生性能恶化时,需要投入大量人力分析性能异常根因,分析成本高,耗时长。我们提出了一种先在异常调用链内部分析候选根因,再在全局拓扑环境下对候选根因进行汇聚的二级分析方法,克服了调用链之间异常相互影响导致根因难以确定的问题,快速识别和定位恶化接口的根因。 本文分享自华为云社区《【AIOps专题】API性能恶化根因分析》,作者:DevAI。 背景介绍 当…

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