【问题标题】:Handle Redirect after Form submission in requests在请求中提交表单后处理重定向
【发布时间】:2018-11-28 07:23:53
【问题描述】:

我正在尝试从网站上抓取内容:URL1:http://jamabandi.nic.in/landrecords/querylink.aspx

所以,当您提交表单时,它会重定向到另一个页面:URL2:http://jamabandi.nic.in/land%20records/owner.aspx

我正在尝试在表单提交后抓取内容。我注意到,提交表单时,URL1 会抛出 302 错误并重定向到 URL2。

但是,当我通过 Python 请求提交表单时,我得到的状态代码为 200。这是我正在使用的代码 sn-p:

    postFields = hidden_fields
    postFields['ctl00$ContentPlaceHolder1$ddldname'] = district
    postFields['ctl00$ContentPlaceHolder1$ddltname'] = tehsil
    postFields['ctl00$ContentPlaceHolder1$ddlvname'] = village
    postFields['ctl00$ContentPlaceHolder1$Button1'] = 'Submit'

    header = {}
    url = 'http://jamabandi.nic.in/land%20records/querylink.aspx'
    page = requests.post(url, data=postFields, headers=header, timeout=10, allow_redirects=True)
    print page.status_code  // 200

知道这里缺少什么吗?

【问题讨论】:

  • 嗨 Kiran,我的回答对你有帮助吗?
  • 你好@waqasgard,我非常它没有用。但是,我确实找到了解决方案。非常感谢您的帮助。
  • 好的@Kiran。解决方案是什么?

标签: python web-scraping python-requests


【解决方案1】:

经过一番检查,这就是我认为可能发生的情况。

当您在网站上提交表单时,会发生重定向,因此 302

当您通过requests 提交时,不会发生重定向,但不会发生任何错误,因此200

我不能告诉你到底发生了什么,因为我看不到APIs。这是我最好的猜测。

【讨论】:

    猜你喜欢
    • 2021-09-17
    • 2019-01-19
    • 2013-04-13
    • 1970-01-01
    • 2014-04-24
    相关资源
    最近更新 更多