当前位置: 首页 > 知识库问答 >
问题:

为我的大学时间表制作时间表应用程序

濮阳弘扬
2023-03-14

我试图为我的大学时间表做一个时间表应用程序,因为我们的学校网站不提供可视化的时间表,而是提供这样的东西:

注册课程说明

考虑到这一点,我已经开始了这个项目,并列出了我需要采取的步骤来完成它。

  1. 写一个登录学校网站的函数
  2. 编写一个函数,保存包含注册课程描述的超文本标记语言文件
  3. 编写一个函数,从超文本标记语言文件中抓取数据,并将必要的数据保存到COURSE_ID、COURSE_LOCATION、COURSE_STARTTIME、COURSE_ENDTIME等字段中。
  4. 编写一个函数,用这些字段作为参数构建可视化时间表

这四个广义的步骤,我完成了第三步,就是数据抓取部分。然而,我遇到了一些问题,不知道如何做步骤1。我想知道是否有人能帮我。

要提供更多具体细节,请访问学校网站链接https://ics.twu.ca/ICS/.从这里开始,我不知道如何编写一个脚本来请求URL并使用用户名和密码发出POST请求。

我正在用Python编写这个程序。

共有1个答案

伯彦君
2023-03-14

身份验证请求是https://ics.twu.ca/ICS/上的POST。从页面获取所有输入名称/值对,使用会话记录cookie。此表单使用Multipart/form-data,因此使用file参数

import requests
from bs4 import BeautifulSoup

url = "https://ics.twu.ca/ICS/"

username = "your_username"
password = "your_password"

session = requests.Session()

r = session.get(url)

soup = BeautifulSoup(r.text, "html.parser")

payload = dict((x, (None, y)) for x, y in [
    (i["name"], i.get("value"))
    for i in soup.find_all("input")
])

payload["userName"] = username
payload["password"] = password

print(payload)

r = session.post(url, files = payload)

print(r.text)

在上面的中,payload是一个输入值的字典,其元组为(无,值),因为我们不需要filename变量(我们不上传文件,只发送值)。检查这个

如果这是不工作添加标头,如用户代理

 类似资料:
  • 我想为我的应用程序安排cron作业来完成特定的任务。我如何在这个需求中安排? 要求:cron数据。js应每周一至周五每小时运行一次,时间为上午9:30至下午3:30。

  • 我需要实施一个连续的任务时间表, 我通过Quartz通过,接下来的三次执行 但我希望02:45:00之后的下一次行刑是在03:30:00而不是03:00:00 有什么办法能做到吗

  • Highcharts 曲线图 以下实例演示了时间间隔图表。 我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看下如何配置。 实例 文件名:highcharts_spline_time.htm <html> <head> <meta charset="UTF-8" /> <title>Highcharts 教程</title> <script src="http://ap

  • 问题内容: 寻找时间平均问题的最快解决方案。 我有一个日期时间对象列表。需要找到时间的平均值(不包括年,月,日)。这是到目前为止我得到的: 问题答案: 这是解决此问题的更好方法 生成日期时间样本 平均20m次 结果为timedelta(请注意,这需要numpy 1.7和pandas 0.13 ,很快就会出现) 以秒为单位(这适用于熊猫0.12,numpy> = 1.6)。

  • 给定一个单链表,其中包含一个指向头部的指针,一个指向尾部的指针。哪一个最费时? > 在开头插入节点