gpt4 book ai didi

python - 如何解析在查看源代码中不显示代码的网站?

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:22 25 4
gpt4 key购买 nike

我不确定如何正确描述问题,但无论如何,所以我想使用 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它将执行以下操作:

  1. 将您重定向到 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、时间..)
  2. 第二页会将您重定向到https://shb.ais.ucla.edu/shibboleth-idp/AuthnEngine
  3. 第三页会将您重定向到 https://shb.ais.ucla.edu/shibboleth-idp/Authn/RemoteUser
  4. 最后一页将以 200 响应并向您发送带有表单和几个隐藏输入字段的标记。表单将在加载时自行提交,只有在第五次响应时您才会获得实际的登录页面。

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

关于python - 如何解析在查看源代码中不显示代码的网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com