【发布时间】:2017-03-16 02:10:58
【问题描述】:
我目前正在使用 python 编写一个程序,该程序将从我大学的班级注册网站上抓取数据,以便在某个班级的座位开放时通知我。
我使用 selenium 来导航各种下拉菜单和文本输入框。我可以成功访问我想要访问的页面,但是从页面到页面,URL 的内容并不是唯一的。
例如,您选择所需主题的页面是https://wl11gp.neu.edu/udcprod8/NEUCLSS.p_class_select。如果我要选择,比如说,英文写作 URL 变为https://wl11gp.neu.edu/udcprod8/NEUCLSS.p_class_search。
无论我选择英语写作、数学、生物还是任何科目,这都是一样的。因此,如果我使用 requests 模块下载页面的 HTML,我会收到 404 错误消息。
有没有什么方法可以在不提供URL的情况下下载当前页面的HTML?
提前感谢您的帮助!
【问题讨论】:
-
如果您检查 p_class_select 的 html,您会看到一个带有 action="NEUCLSS.p_class_search" 和 method="post" 的表单。这就是您需要模拟的内容:使用所需数据对 p_class_search 的 POST 请求,不是下载/GET 请求。
-
有趣,我刚开始使用 python,所以我必须阅读 POST 请求以及如何以这种方式操作 HTML。感谢您的快速回复!
-
@Prunechi 你试过
driver.current_url吗?
标签: python python-2.7 python-3.x selenium python-requests