RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1595456
Accepted
Biteclipse
Biteclipse
Asked:2024-10-02 05:51:32 +0000 UTC2024-10-02 05:51:32 +0000 UTC 2024-10-02 05:51:32 +0000 UTC

我无法使用 POST 通过 bs4 解析网站

  • 772

我有一个网站,我想以文本形式显示时间表。我似乎能够处理发送请求,但我似乎无法获取时间表本身。告诉我怎样做才是正确的

import requests
from bs4 import BeautifulSoup

group_id = "93"
date_from = "02.10.2024"
date_to = "03.10.2024"

url = 'https://www.tolgas.ru/services/raspisanie/?id=0'
payload = {
    'vr': group_id,  # Идентификатор группы
    'from': date_from,  # Начальная дата
    'to': date_to,  # Конечная дата
    'submit_button': 'Показать'
}

response = requests.post(url, data=payload)
soup = BeautifulSoup(response.text, 'html.parser')

假设我至少想参加这个日期日期

使用此代码

soup.find_all('div', class_="div.timetable-frame__row:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2)")
print(soup.find_all)

但最终我显然得到了一个完整的网站,因为......显示大量文本,不仅是 div 标签,还包括所有其他标签

python
  • 1 1 个回答
  • 67 Views

1 个回答

  • Voted
  1. Best Answer
    Ben Puls
    2024-10-11T22:31:44Z2024-10-11T22:31:44Z

    你几乎做对了所有事情。唯一的问题是您找不到该标签的类别,因此您无法找到日期。

    假设您正在解析问题中的同一页面,则块类<div> 将为timetable-frame-current-date__text timetable-frame-current-date__text--2 text-lead.

    如果您想查找所有当前班级日期,请使用方法find_all()。此方法将显示具有给定参数的所有标签。

    我们总共得到:

    import requests
    from bs4 import BeautifulSoup
    
    group_id = "93"
    date_from = "02.10.2024"
    date_to = "03.10.2024"
    
    url = 'https://www.tolgas.ru/services/raspisanie/?id=0'
    payload = {
        'vr': group_id,  # Идентификатор группы
        'from': date_from,  # Начальная дата
        'to': date_to,  # Конечная дата
        'submit_button': 'Показать'
    }
    
    response = requests.post(url, data=payload)
    soup = BeautifulSoup(response.text, 'html.parser')
    
    class_name = "timetable-frame-current-date__text timetable-frame-current-date__text--2 text-lead"
    
    all_tags = soup.find_all("div", 
                         class_=class_name)
    
    dates = [tag.text.strip() for tag in tags]
    

    之后,通过列表理解我们得到:

    ['07.10.2024', '09.10.2024', '10.10.2024', '12.10.2024']
    

    以此类推,你可以找到班级和老师的名字,并通过字典等方式将它们漂亮地展示出来。

    • 3

相关问题

  • 是否可以以某种方式自定义 QTabWidget?

  • telebot.anihelper.ApiException 错误

  • Python。检查一个数字是否是 3 的幂。输出 无

  • 解析多个响应

  • 交换两个数组的元素,以便它们的新内容也反转

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