在请求中提交表单后处理重定向

时间:2018-11-28 07:23:53

标签: python web-scraping python-requests

我正在尝试从网站抓取内容: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

您知道这里缺少什么吗?

1 个答案:

答案 0 :(得分:0)

经过一番检查后,我认为可能会发生这种情况。

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

通过requests提交时,重定向不会发生,但不会因此失败200

我无法告诉您确切原因,因为我看不到APIs。这是我的最佳猜测。