【发布时间】:2017-06-28 12:11:43
【问题描述】:
更新:我确实在 API 中找到了我需要的信息,这并不是对这个特定问题的真正答案,而是我的软件的解决方案。
我正在尝试登录一个网页,导航到另一个页面,然后解析一个 HTML 表格。
如果您在未登录的情况下使用浏览器转到目标页面,它会将您带到默认登录页面,并且无论如何您都必须导航到目标页面。这就是为什么我有两个 URL 调用。
import requests
payload = {'username' : 'USER', 'password' : 'PASSWORD'}
with requests.Session() as s:
p = s.post('login_url', data=payload)
r = s.get('target_url')
当您导航到登录页面时,它通常会转到另一个页面以检查您的浏览器,然后再转到登录页面本身。我从“p”得到这个回复:
<span data-translate="checking_browser">Checking your browser before accessing</span> website.</h1>
<p data-translate="process_is_automatic">This process is automatic. Your browser will redirect to your requested content shortly.</p>
<p data-translate="allow_5_secs">Please allow up to 5 seconds…</p>
...这只是告诉您等待重定向并登录的页面。有没有办法处理这个问题,以便它等待可以登录的页面?我需要大约每 20 分钟在代码中调用一次,所以如果我可以保持登录状态并且只访问目标页面,那就更好了。
- 理想的解决方案:在程序开始时登录一次并保持登录状态。
- 更好的解决方案:每次重新登录,但要避免五秒钟的等待时间来换页。
- 可接受的解决方案:每次登录前等待 5 秒重定向。
【问题讨论】:
-
我们需要真实的网址来帮助您
-
尝试使用stream = True,可能会让你进入。
标签: python html python-requests