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

无法通过Python与Postman向LoopNet网站发送GET请求求助

解决LoopNet请求挂起的问题

核心原因分析

请求长期挂起的核心原因是LoopNet启用了Cloudflare人机验证机制,普通HTTP请求(requests/Postman)无法通过验证,服务器会持续等待验证操作完成,导致请求一直处于挂起状态。此外,IP被限流、请求头缺失关键参数也可能引发这类问题。

解决方案

1. 使用支持JS渲染的浏览器自动化工具

Cloudflare的验证需要执行JavaScript来识别真人行为,推荐用Playwright或Selenium模拟真实浏览器操作:

Playwright示例代码

from playwright.sync_api import sync_playwright
from bs4 import BeautifulSoup

url = "https://www.loopnet.com/search/commercial-real-estate/usa/for-lease/"

with sync_playwright() as p:
    # 先开启可视化模式,首次运行可能需要手动完成Cloudflare验证
    browser = p.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto(url)
    # 等待搜索结果容器加载,可根据页面实际元素调整选择器
    page.wait_for_selector('.search-results-container')
    # 获取页面HTML内容
    html_content = page.content()
    # 用BeautifulSoup解析内容
    soup = BeautifulSoup(html_content, 'html.parser')
    
    browser.close()

验证完成后,可尝试改为headless=True启用无头模式,或配置持久化上下文保存Cookie,避免重复验证。

2. 完善请求参数与会话管理

  • 补充Cookie:先在浏览器中打开目标页面,复制当前有效的Cookie添加到请求头中
  • 更新User-Agent:使用最新版本的浏览器标识,避免被识别为过时爬虫
  • 使用requests.Session():保持会话状态,模拟浏览器的持续连接逻辑

3. 规避IP限流

  • 更换网络环境:若IP被限制,切换到其他网络重新请求
  • 使用代理IP池:分散请求来源,避免单一IP触发限流
  • 添加请求间隔:在多次请求间设置1-3秒的延迟,模拟人类浏览节奏

注意事项

LoopNet有明确的反爬政策,爬取前请仔细阅读其Robots协议与服务条款,确保爬取行为合规,避免触发法律风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 08:07:24