加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何解析未在视图源中显示代码的网站?

发布时间:2020-12-20 13:26:04 所属栏目:Python 来源:网络整理
导读:我不确定如何正确描述问题,但无论如何, 所以我想使用mechanize来获取表单并获取输入的名称. 但是,当我使用mechanize进行解析时,它不会显示表单名称和输入名称. 如果我通过查看网站手动尝试,我必须检查元素,以便我可以得到输入名称,但仍然是动态的,所以每次检
我不确定如何正确描述问题,但无论如何,
所以我想使用mechanize来获取表单并获取输入的名称.
但是,当我使用mechanize进行解析时,它不会显示表单名称和输入名称.
如果我通过查看网站手动尝试,我必须检查元素,以便我可以得到输入名称,但仍然是动态的,所以每次检查元素时,它都给我不同的名称.任何的想法?
顺便说一下,如果有兴趣的话,我试图解析的网站是 https://www.ursa.ucla.edu/logon/logon.asp.

这是我尝试过的:

br = mechanize.Browser(factory=mechanize.RobustFactory())     
  br.open("https://www.ursa.ucla.edu/logon/logon.asp/")
  br.select_form(nr=0)
  print br.response().read()

提前致谢,
理查德.

解决方法

您尝试解析的网页无法直接访问.
当您访问 https://www.ursa.ucla.edu/logon/logon.asp时,它将执行以下操作:

>将您重定向到https://shb.ais.ucla.edu/shibboleth-idp/profile/Shibboleth/SSO?shire=https%3A%2F%2Fwww.ursa.ucla.edu%2FShibboleth.sso%2FSAML%2FPOST&time=1327213354&target=cookie%3Aa872692c&providerId=https%3A%2F%2Fwww.ursa.ucla.edu%2Fshibboeth-sp(如您所见,这有几个变量 – cookie,时间……)
>第二页将重定向到https://shb.ais.ucla.edu/shibboleth-idp/AuthnEngine
>第三页将您重定向到https://shb.ais.ucla.edu/shibboleth-idp/Authn/RemoteUser
>最后一页将以200响应并向您发送带有表单和几个隐藏输入字段的标记.表单将自动提交onload,然后只有第五个响应,您将获得实际的登录页面.

现在我不知道python如何处理重定向头.您可能需要查看您获得的响应.在最好的情况下,它将是隐藏变量的最后一页,您需要解析这些并将POST请求发送到同一个URL以获取真正的登录页面.在最坏的情况下,您需要从第一页开始一直关注标题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读