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

如何用Python requests模块获取lei-registrations.in的Fetch/XHR响应JSON

解决方案:使用requests直接调用搜索API

步骤1:分析网站的搜索请求

打开浏览器开发者工具(F12)切换到Network标签,搜索目标公司名后,观察Fetch/XHR请求可发现:搜索是一个POST请求,目标URL为https://lei-registrations.in/lei-search,请求参数包含search_term,同时需要携带页面的CSRF Token(网站基于Django构建,需该Token验证请求合法性)。

步骤2:编写requests代码实现搜索

import requests
from bs4 import BeautifulSoup

# 基础配置
base_url = "https://lei-registrations.in/"
search_url = f"{base_url}lei-search"

# 1. 访问首页获取CSRF Token
session = requests.Session()
home_response = session.get(base_url)
soup = BeautifulSoup(home_response.text, "html.parser")
csrf_token = soup.find("input", {"name": "csrfmiddlewaretoken"})["value"]

# 2. 构造搜索参数
search_term = "ditech process solutions private limited"
payload = {
    "csrfmiddlewaretoken": csrf_token,
    "search_term": search_term
}

# 3. 发送AJAX请求获取结果
headers = {
    "Referer": base_url,
    "X-Requested-With": "XMLHttpRequest"
}
search_response = session.post(search_url, data=payload, headers=headers)

# 4. 解析响应
if search_response.status_code == 200:
    result_json = search_response.json()
    print(result_json)
else:
    print(f"请求失败,状态码:{search_response.status_code}")

原Selenium代码的问题说明

你的Selenium代码存在以下问题:

  • driver = 后换行导致语法错误,无法正常初始化浏览器实例
  • 网站搜索为异步AJAX请求,调用searchBox.submit()后页面不会刷新,直接quit浏览器无法捕获响应数据
  • 即便添加等待,Selenium也需定位异步加载的结果元素才能获取数据,效率远低于直接调用API

依赖安装

确保已安装所需库:

pip install requests beautifulsoup4

内容的提问来源于stack exchange,提问作者Yug

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 22:27:29