python请求:发布后查看重定向页面的文本

时间:2018-08-12 01:00:46

标签: python python-requests html-form-post

我正在尝试使用请求来查询网站,以获取来自表单发布的回复信息,但是在提交表单时,我手动使用该网站(填写表单并单击提交按钮)时却得到了与之不同的html内容。使用请求发布到网站时,在我的response.text对象中显示。

手动发布表单时,站点将重定向回表单页面,并在表单下方显示新文本(一些新的<h#><ul>对象)。但是,对于requests.post,我的response.text对象只是给我页面内容,就像我在做requests.get一样,向我建议手动使用网站时的重定向与重定向我从请求中得到的信息。

有什么想法可以使我的response.text与手动使用该网站时看到的相匹配?也许响应对象甚至不是我应该用来获取文本的对象?我的想法可能是网站手动将页面重定向到与POST相同的表单页面,并请求强制将页面重定向为GET,而我需要以某种方式覆盖此功能?

这是我正在使用的代码:

import requests

get_resp = requests.get(url="https://example-site.com")

# It's a Django site so I need to get the csrftoken
csrf_token = get_resp.cookies['csrftoken']

post_resp = requests.post(
    url="https://example-site.com",
    data={"key1": "value1",
          "key2": "value2"},
    headers={"X-CSRFToken": csrf_token},
)

print(post_resp.text)

谢谢您的帮助!

0 个答案:

没有答案