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

遍历A-Z列表爬取德国保险公司数据,结果列表为空求助

排查与解决思路
  • 确认HTTP请求有效性
    每次请求后打印response.status_code,确保返回200;再打印response.text[:500]查看返回内容是否为目标页面的真实HTML。Colab的IP容易被反爬识别,建议添加请求头模拟浏览器:

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
    }
    response = requests.get(url, headers=headers)
    
  • 核对BeautifulSoup选择器
    将某一字母页面的HTML保存到本地(with open('test_page.html', 'w', encoding='utf-8') as f: f.write(response.text)),用浏览器开发者工具定位企业信息的标签结构,检查你的选择器是否完全匹配。比如目标内容在div.company-entry里,却误用了div.member-card,就会导致提取为空。

  • 排查动态加载情况
    若网站通过JavaScript渲染会员列表,Requests只能获取静态源码,看不到动态加载的内容。可以通过浏览器网络面板查看是否有XHR接口直接返回会员数据,直接请求接口更高效;如果必须渲染JS,在Colab中可以用selenium配合ChromeDriver,或者playwright处理动态页面。

  • 检查遍历与拼接逻辑
    确认字母页面的URL拼接是否正确,比如GDV的A-Z页面是否为https://www.gdv.de/de/mitglieder/a/这类格式,注意大小写、路径后缀等细节。同时验证有会员的字母页面是否被正确遍历,避免因部分字母无数据导致整体结果为空的误判。

  • 调试结果填充过程
    在提取单个企业信息的代码块中添加print语句,输出每次提取的内容,确认是否进入了提取循环,以及数据是否被正确追加到结果列表。比如循环条件用了错误的选择器,会导致循环根本不执行,结果列表自然为空。

  • 处理编码异常
    若返回HTML编码不正确,会导致BeautifulSoup解析失败,可尝试指定编码:response.encoding = 'utf-8',或创建BeautifulSoup时添加参数soup = BeautifulSoup(response.text, 'html.parser', from_encoding='utf-8')。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 03:48:32