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

使用BeautifulSoup爬取网页仅获单条有效数据其余为空如何解决

Python BeautifulSoup 网页爬取空值问题修复方案

你遇到的问题主要有三个原因:

  1. 你用的ml1是通用类名,不同页面里第一个带这个类名的元素不一定是地址,选择器定位太泛
  2. 没有设置请求间隔,短时间内频繁发起请求会被网站反爬策略拦截,返回的页面内容不完整
  3. 第一步提取的链接里混入了大量非投资者详情页的无效链接,访问这些页面自然拿不到对应数据

修改后的完整可运行代码如下:

import requests
from bs4 import BeautifulSoup
import pandas as pd
import time

baseurl = 'https://signal.nfx.com/'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36'
}

# 第一步:获取有效投资者详情页链接
r = requests.get('https://signal.nfx.com/investor-lists/top-who-invested-in-female-founders-investors', headers=headers)
soup = BeautifulSoup(r.content, 'html.parser')
tra = soup.find_all('div', class_='pr3')
productlinks = []

for links in tra:
    for link in links.find_all('a', href=True):
        # 只保留投资者详情页的链接,过滤无效链接
        if '/investors/' in link['href']:
            comp = baseurl + link['href'].strip('/')
            if comp not in productlinks:
                productlinks.append(comp)

p = []
u = []
for link in productlinks:
    r = requests.get(link, headers=headers)
    soup = BeautifulSoup(r.content, 'html.parser')
    # 先定位头部信息的父容器,缩小查找范围
    header_meta = soup.find('div', class_='firm-person-header__meta')
    address = ''
    site_link = ''
    if header_meta:
        # 查找地址
        address_tag = header_meta.find('span', class_='ml1')
        if address_tag:
            address = address_tag.text.strip()
        # 查找官网链接
        site_tag = header_meta.find('a', class_='ml1 subheader lower-subheader')
        if site_tag:
            site_link = site_tag.text.strip()
    p.append(address)
    u.append(site_link)
    # 加2秒请求间隔,避免被反爬
    time.sleep(2)

df = pd.DataFrame({"address": p, "link": u})
print(df)

主要修改点:

  • 新增链接过滤逻辑,只保留/investors/开头的详情页链接,同时做了去重处理
  • 更换了更精准的元素定位逻辑,先找到头部信息的父容器再查找目标元素,避免通用类名匹配到无关内容
  • 新增了2秒的请求间隔,避免触发网站的频率限制
  • 优化了内容提取逻辑,增加了非空判断,减少空值产生

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:45:07