Scrape Center爬虫平台之spa2案例

参考:
知乎
LLI ,ibra146
会修电脑的程序猿
scrapy学习之爬虫练习平台2
B站
https://www.bilibili.com/video/BV1Mf4y1s7ds?p=42
在这里插入图片描述
主要就是破解这个token值
思路分析:

1:当下时间戳time.time()取整,得t,假设t为1625572736

2:["/api/movie", 0, “1625572736”]----》/api/movie,0,1625572736

将 /api/movie,0,1625572736 用SHA1加密,化为16进制编码字符串,这字符串就是o的value
o = “d1983455197bf53903c2a2f6cf57a9a53863b923”

3: 将o与t用英文逗号连接,用Base64加密,即加密

d1983455197bf53903c2a2f6cf57a9a53863b923,1625572736
得出68位非人类看懂的字符串,也就浏览器看得爽
ZDE5ODM0NTUxOTdiZjUzOTAzYzJhMmY2Y2Y1N2E5YTUzODYzYjkyMywxNjI1NTcyNzM2
这就是token值
#4:得出的token值是二进制,要将其转为通用字符串

import requests
import time
import hashlib
import base64
def getHTMLText(url):
    try:
        r=requests.get(url,timeout=60)
        r.raise_for_status()
        r.encoding='utf-8'
        return r.json()
    except:
        pass
#1:时间戳取整    
t=int(time.time())
#2:SHA1加密    
s1 = f"/api/movie,0,{
     t}"
o = hashlib.sha1(s1.encode("utf-8")).hexdigest()    
s2=f'{
     o},{
     t}'
s3=s2.encode('utf-8')
#3:Base64加密
token=base64.b64encode(s3)
#4:bytes转str
token=token.decode()
print(token)
url=f"https://spa2.scrape.center/api/movie/?limit=10&offset=0&token={
     token}"
html=getHTMLText(url)
print(html)
for i in range(10):
    print(html['results'][i]['id'],html['results'][i]['name'])

以上是第一页列表,以下是第二页列表,原来这个红线指的参数不是固定的,是根据offset的变化而变化
在这里插入图片描述
在这里插入图片描述

import time
import requests
def 
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值