首页 > 解决方案 > 在请求中提交表单后处理重定向

问题描述

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

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

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

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

    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

知道这里缺少什么吗?

标签: pythonweb-scrapingpython-requests

解决方案


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

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

当您通过requests重定向提交它时不会发生,但因此没有任何失败200

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


推荐阅读