本文章中所有内容仅供学习交流使用,不用于其他任何目标,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处置惩罚,严禁用于贸易用途和非法用途,否则由此产生的一切后果均与作者无关!
本文章未经许可禁止转载,禁止任何修改后二次流传,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,如有侵权,请接洽作者删除
目标:aHR0cHM6Ly95LnFxLmNvbS9uL3J5cXEvc2VhcmNoP3c9JUU3JTlDJTlGJUU3JTlBJTg0JUU3JTg4JUIxJUU0JUJEJUEw
革新一下,这是我们要逆向的接口

看一下载荷,第一个是时间戳,第二个是sign,是我们接下来的目标

全局搜索一下,直接进入

调用的是n(350),然后返回的值为i,下面直接传给sign,所以说要找的就是i
在i处下一个断点,革新进去,看一下该逻辑的参数,发现末了o(t.data)函数返回值被i接收

那直接去找o函数
单步进入加载器,直接把整个加载器抠出来

在加载器外界说一个变量去全局接收这个参数

然后把vendor.chunk.ab的代码也复制下来,加载器大概两百多行,这个两万多行,

是能正常构造出来的,
然后写一下py的请求
- import time
- import execjs
- import requests
- import json
- headers = {
- "accept": "application/json",
- "accept-language": "zh-CN,zh;q=0.9,oc;q=0.8",
- "cache-control": "no-cache",
- "content-type": "application/x-www-form-urlencoded",
- "origin": "https://y.qq.com",
- "pragma": "no-cache",
- "priority": "u=1, i",
- "referer": "https://y.qq.com/",
- "sec-ch-ua": ""Chromium";v="134", "Not:A-Brand";v="24", "Google Chrome";v="134"",
- "sec-ch-ua-mobile": "?0",
- "sec-ch-ua-platform": ""Windows"",
- "sec-fetch-dest": "empty",
- "sec-fetch-mode": "cors",
- "sec-fetch-site": "same-site",
- "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36"
- }
- cookies = {
- "ts_uid": "82546152",
- "ts_refer": "www.google.com/",
- "pgv_pvid": "5540762092",
- "pgv_pvi": "857070592",
- "eas_sid": "q1m7o491L6s1h1U9o3k6O6s7s7",
- "RK": "YLOpJl+O87",
- "ptcz": "c62b1a1faddd2475e6a574bfb2f18b5db8368ec17fbe8dc2e5a9e3c3ec3b3932",
- "_qimei_uuid42": "1930f0f2f1b10000ea075ee4c8d1327d25f2c8e380",
- "_qimei_fingerprint": "7f9c0d7567380d31c88a31812f196720",
- "_qimei_q36": "",
- "_qimei_h38": "8f954cacea075ee4c8d1327d02000006a1930f",
- "_clck": "3945857917|1|fua|0",
- "fqm_pvqid": "bcc60b31-7e6e-4113-a893-e826db6411b8",
- "fqm_sessionid": "9ea22687-9f0c-4d32-a003-db08f75dd9b8",
- "pgv_info": "ssid=s8142463614",
- "ts_last": "y.qq.com/n/ryqq/search",
- "_qpsvr_localtk": "0.7093670537313226",
- "login_type": "1",
- "qqmusic_key": "Q_H_L_63k3NNuZZj_eI120c7x7Sde_4WuAcIHkqTCCCSSbaZyFdP49gbLOcuU1YPFLhKRpzJMxw4CXXDK79dcIzBx4e2FQZLzs",
- "uin": "2797246328",
- "tmeLoginType": "2",
- "psrf_qqunionid": "16090E6EF40A0480376C8B3230A2758F",
- "wxunionid": "",
- "euin": "owSq7i-P7woANn**",
- "wxopenid": "",
- "psrf_access_token_expiresAt": "1748066555",
- "qm_keyst": "Q_H_L_63k3NNuZZj_eI120c7x7Sde_4WuAcIHkqTCCCSSbaZyFdP49gbLOcuU1YPFLhKRpzJMxw4CXXDK79dcIzBx4e2FQZLzs",
- "psrf_qqopenid": "74C84739A39A28FF013A8304550D2756",
- "psrf_qqrefresh_token": "E549374884C9F22AF22CEF88A3F0D3FF",
- "psrf_musickey_createtime": "1742882555",
- "wxrefresh_token": "",
- "psrf_qqaccess_token": "2F4FF8FA29F3E0DDE9D4E36F67BD033A",
- "music_ignore_pskey": "202306271436Hn@vBj"
- }
- url = "https://u6.y.qq.com/cgi-bin/musics.fcg"
- data='{"comm":{"cv":4747474,"ct":24,"format":"json","inCharset":"utf-8","outCharset":"utf-8","notice":0,"platform":"yqq.json","needNewCode":1,"uin":2797246328,"g_tk_new_20200303":1162653987,"g_tk":1162653987},"req_1":{"method":"DoSearchForQQMusicDesktop","module":"music.search.SearchCgiService","param":{"remoteplace":"yqq.yqq.yqq","searchid":"58920998531433241","search_type":0,"query":"真的爱你","page_num":1,"num_per_page":10}}}: '
- sign = execjs.compile(open('D:\project\stock_spider\spider\crawler_reverse\吴秋霖\qq音乐\qq_music.js', 'r', encoding='utf-8').read()).call(('main1'),data)
- print(sign)
- time_str = round(time.time() * 1000)
- params = {
- "_": time_str,
- "sign": sign
- }
- data = json.dumps(data, separators=(',', ':'))
- response = requests.post(url, headers=headers, cookies=cookies, params=params, data=data)
- print(response.text)
- print(response)
复制代码 但是不知道为什么不停请求不到了,是因为search_id的题目吗?
还请知道的佬可以说一下
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |