You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python Requests+BeautifulSoup通过POST请求获取CESTAT网站表格数据时返回空表格的问题求助

使用Python Requests+BeautifulSoup通过POST请求获取CESTAT网站表格数据时返回空表格的问题求助

各位大佬好!我最近在折腾用Python的Requests和BeautifulSoup抓取CESTAT网站上的案件状态表格数据,结果碰上个棘手的问题——发送POST请求后返回的页面里,目标表格居然是空的,完全拿不到我要的数据,实在摸不着头脑,来求大家帮忙看看哪里出问题了!

我的操作逻辑大概是这样的:

  1. 先GET访问网站主页,拿到cookies里的csrf_token
  2. 构造包含csrf_token、查询的区域类型、证件号、验证码(这里暂时填的固定值111111)这些参数的payload
  3. 把payload以JSON格式POST到casestatus接口
  4. 解析返回的HTML,找id为example的表格,但结果啥都没抓到,打印返回的文本也看不到表格的内容

附上我现在的代码:

import requests
import sys
from bs4 import BeautifulSoup

def casestatus_name(csrf, party):
    try:
        test = requests.get('https://cestat.gov.in')
        cookies = test.cookies.get_dict()
        test.raise_for_status()
    except Exception as e:
        print(e)
        sys.exit(1)

    payload = {
        'csrf_token': cookies['csrf_cookie_name'],
        'schema_type': 'bangalore',
        'app_type': 'pno',
        'token_no': party,
        'captcha_code': '111111',
        'button3': 'SEARCH'
    }

    response = requests.post("https://cestat.gov.in/casestatus", json=payload)

    soup = BeautifulSoup(response.text, 'html.parser')
    table = soup.find_all('table', id='example')
    print(response.text)
    return response

我自己也瞎琢磨了半天,比如csrf_token是从主页cookies里取的,应该没毛病吧?会不会是我POST请求的参数格式不对?比如网站其实期望接收表单格式的参数,而不是JSON?还有那个验证码,我填固定值会不会直接被服务器拦截了?

备注:内容来源于stack exchange,提问作者Akhil V

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 15:44:29