RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1482680
Accepted
Денис Остап'юк
Денис Остап'юк
Asked:2022-12-31 17:31:01 +0000 UTC2022-12-31 17:31:01 +0000 UTC 2022-12-31 17:31:01 +0000 UTC

如何发送请求?要求

  • 772

你好。我有一个问题,在这种情况下如何点击“我不是机器人”复选框?每个请求的键值都不同。我是否需要以某种方式解析并发送连接请求或如何?您需要通过单击复选框进行登录。

import requests
from bs4 import BeautifulSoup as Bs


def gold_buy():
    session = requests.Session()
    arena = session.get('https://mrush.mobi')
    text = Bs(arena.content, 'html.parser')
    fresh = text.find("input", type='checkbox')
    d=(fresh['name'])
    print(d)
    s = session.post('https://mrush.mobi/login',{'name': 'name', 'password': 'pass', d : ''})
    print (s)

    g = session.get("https://mrush.mobi/christmasCollection?r=815")
    soup = Bs(g.text, 'html.parser') 
    quest_status = soup.find_all('div', class_='wr8')
    for status in quest_status:
       print(status)



    
def main():
    gold_buy()
   

if __name__ == '__main__':
    main()

在此处输入图像描述 在此处输入图像描述

requests
  • 1 1 个回答
  • 23 Views

1 个回答

  • Voted
  1. Best Answer
    DiMithras
    2023-01-02T11:57:45Z2023-01-02T11:57:45Z

    没有requests办法点击它,因为这个库处理请求,而不是模拟像selenium这样的浏览器,你可以在其中点击一些东西。

    但是让我们弄清楚这个复选框的作用是什么。
    如果您查看一个成功的 POST 请求,您可以看到它传输到 Payload ...类似于类的东西。让我们看看复选框有什么类?就是这样,没错就是他。
    再一次,您不能单击请求中的任何内容,但您的单击会以某种方式影响后续请求。在这种情况下,如果设置了 ✅,则采用输入类。

    在这里似乎一切都很简单,我们解析输入,获取复选框类并享受生活。

    但不,这样的保护太简单了,所以这款游戏的创作者更进一步,制作了……12 个复选框。是的,是的,有很多,在页面上是看不出来的,因为它们的样式不同。如果您查看开发人员控制台,乍一看,这些样式没有什么不同,只是类发生了变化。并且每次刷新页面时都会随机生成这些类。好吧,我对开发人员表示敬意,结果证明这是对小学生的有趣防御。

    但是,没有什么是不可能的,div它站在<style>想要的人面前,隐藏伪复选框的所有魔法都发生在它身上。因此,我们采用所有样式,过滤那些隐藏的样式并获得我们需要的样式。

    通过观察,原来不必要的包含以下之一:

    • 向左飘浮;
    • 溢出:隐藏;
    • 显示:无;

    我们将过滤它们。

    下一步是什么?然后有两个必要的复选框,第一个用于“开始游戏”,第二个用于“登录”。根据我们在做什么,我们添加到请求正文中,并且不要忘记添加标头Content-Type,顺便说一句,在问题中没有观察到‥

    import requests
    from bs4 import BeautifulSoup as bs
    
    s = requests.Session()
    
    url = 'https://mrush.mobi'
    r = s.get(url)
    soup = bs(r.content, 'lxml')
    
    soup, styles = bs(r.content, 'lxml'), []
    for style in soup.find_all('style'):
        style = style.decode_contents()
        if 'float: left;' not in style \
        and 'overflow: hidden;' not in style \
        and 'display: none;' not in style:
            styles.append(style[style.find('.')+1:style.find('{')])
    
    checkbox = soup.find('div', {'class': styles[0]}).find('input')['class'][0]+'='
    
    headers = {'Content-Type': 'application/x-www-form-urlencoded'}
    r = s.post(url + '/start', headers=headers, data=checkbox)
    soup = bs(r.content, 'lxml')
    soup.find('div', {'class': 'ribbon'})
    
    结论:
    <div class="ribbon"><div class="rl"><div class="rr">Возвращение домой</div></div></div>
    

    好吧,就是这样,复选框起作用了,作为响应,我们得到一个新的“返回家园”屏幕,其中玩家被草原狼攻击。

    对于授权,选择第二个复选框,一切都会成功。

    • 0

相关问题

  • 代理在脚本中不起作用

  • 如何绕过错误以便脚本继续工作?

  • 网站编码问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5