python请求库重定向新页面以发布请求

时间:2018-07-10 10:30:12

标签: python redirect post request

我是python的新手,我必须检索此页面的数据。 http://mims.com/india/drug/search?q=dextro,但由于该网站要求用户 登录,因此我经历了以下代码。

import requests
from bs4 import BeautifulSoup as bs
POST_LOGIN_URL = "https://sso.mims.com/Account/Signin"
REQUEST_URL    = "https://mims.com/india/drug/search?q=DEXTRO%20PLUS"
payload = {
    "EmailAddress": "email address here",
    "Password"    : "password here"
}
with requests.Session() as session:
    post = session.post(POST_LOGIN_URL, data=payload)
    r = session.get(REQUEST_URL)
    with open('abc.html', 'wb')as f:
        f.write(r.content)

不是显示期望的结果,而是将我重定向到页面,并且我收到一个“ FORM”元素,其中包含method =“ post”请求和一个自动单击的按钮。 所以我无法弄清楚,请有人帮忙。

1 个答案:

答案 0 :(得分:0)

在登录后或使用其他 GET 请求后,使用 selenium webdriver wait 解决了该问题。
这样,后台请求就完成了它的执行并返回到所需页面。
在发送任何GET请求时遇到重定向时,添加SLEEP(seconds)方法可以解决许多问题