猿人学第13题(题目会不定时更新)

猿人学对抗赛系列文章目录

猿人学第12题


我又来啦,今天玩猿人学的第13题,不废话,直接F12打开谷歌浏览器的调试模式查看数据接口,这题题目是cookie反爬,我们就直接看cookie里面有什么,建议用无痕浏览模式打开,cookie会简洁很多,可以直接看出来,yuanrenxue_cookie就是我们这次需要破解的参数
在这里插入图片描述


到这里有些同学就直接按照12题的老办法进去Initiator里去点击request了,但是想法很美好,现实很残酷,进去之后啥也没有,别急,这道题的参数寻找和12题不一样,网址的参数每个数据接口都有,但是cookie可不一定了,cookie很有可能是其他的地方生成的,这里我们用fiddler来抓包,因为谷歌浏览器的调试模式有些东西是不显示出来的(没有fiddler的,直接百度就好,一搜一大把的安装教程)

在这里插入图片描述


打开fiddler,刷新页面,查看响应,发现在主页加载之前有一个奇怪的请求,点击进去查看响应的内容,返回了一段js代码,这就是谷歌浏览器显示不出的内容了

在这里插入图片描述
在这里插入图片描述


复制出来看见document.cookie,又破案了( •̀ ω •́ )✧,cookie的赋值是一段字符相加的结果,直接复制document.cookie赋值的那一句代码,进到谷歌浏览器的console里黏贴执行,与数据接口的cookie对比一下,不得了!!!一模一样!!!,

在这里插入图片描述
在这里插入图片描述


接下就是敲代码的时候了,先请求前面的这个接口获取内容再正则匹配一下,就好了,代码如下:

import io
import re
import requests
from lxml import html
import sys
import json

num = 0
etree = html.etree
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='gb18030')
session = requests.Session()
session.keep_alive = False

def gg(u):
    global num
    kv = {'User-Agent': 'yuanrenxue.project', 'cookie': 'sessionid=自己的sessionid'}
    r = session.get(u, headers=kv)
    rw = re.compile(r"'(.?)'")
    g = rw.findall(r.text)
    ck = ''
    for i in g:
        ck += i
    k2 = {'User-Agent': 'yuanrenxue.project'}
    session.cookies.set(ck.split('=')[0], ck.split('=')[1])	#设置cookie
    print(session.cookies)
    for i in range(1, 6):
        t2(k2, 'https://match.yuanrenxue.com/api/match/13?page=' + str(i))
    print(num)


def t2(k, u1):
    global num
    r = session.get(u1, headers=k)
    l = json.loads(r.text)
    for i in l['data']:
        # print(i['value'])
        num += i['value']


gg('https://match.yuanrenxue.com/match/13')

总结

13题还是非常简单的,只是对于新手来说找参数的时候有点操蛋,对于一些文章中的知识名词啥的不是很了解的话可以看看我的这篇文章:

js逆向学习必备技巧 (还没写完(~ ̄▽ ̄)~)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于您提到的错误TypeError: list indices must be integers or slices, not str,这是因为您在访问列表中的元素时使用了字符串作为索引,而列表的索引必须是整数或切片类型。解决这个错误的方法是使用整数或切片来访问列表中的元素。 关于您提到的猿人js逆向的问,我需要更多的信息才能为您提供具体的答案。对于爬虫编写,您可以使用Python的各种库(如Requests、BeautifulSoup、Scrapy等)来获取网页的内容,并进一步解析和处理。您可以使用这些库发送HTTP请求获取网页内容,然后使用解析库来提取您需要的数据。 爬虫编写的一般步骤如下: 1. 导入所需的库 2. 发送HTTP请求获取网页内容 3. 使用解析库解析网页内容 4. 提取所需的数据 5. 进行数据的进一步处理和存储 您可以根据具体的需求和网站的结构进行相应的编写和调试。如果您需要更具体的帮助,请提供更多的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python:TypeError: list indices must be integers or slices, not str报错解决及原理](https://blog.csdn.net/hhd1988/article/details/128031602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str](https://download.csdn.net/download/weixin_38590567/14871394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值