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

使用BeautifulSoup爬取网页时返回空数据列表的问题求助

问题排查与解决方案

1. 修正请求URL

你当前使用的URL https://usautosummit.com/delegates/?/wp-login 包含多余的 ?/wp-login 后缀,这会引导到登录页面而非参会者列表页面。请将URL修改为 https://usautosummit.com/delegates/ 后重新测试:

from bs4 import BeautifulSoup
from csv import writer
import pandas as pd
import requests

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'}
url = 'https://usautosummit.com/delegates/'  # 修正后的URL
r = requests.get(url, headers=headers)
print(r.status_code)

soup = BeautifulSoup(r.text, 'html.parser')
items = soup.find_all('p', {'class': 'x-feature-box-text'})
print(items)

2. 处理动态渲染内容

如果修正URL后仍返回空列表,说明页面内容是通过JavaScript动态加载的(requests 仅能获取静态HTML源码,无法渲染JS生成的内容)。此时需要使用Selenium模拟浏览器行为获取完整页面:

步骤1:安装依赖

pip install selenium

同时下载对应浏览器的驱动(如ChromeDriver),确保驱动路径可被Python调用。

步骤2:使用Selenium获取并解析页面

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

# 配置无头浏览器选项
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36')

# 初始化浏览器并加载页面
driver = webdriver.Chrome(options=chrome_options)
driver.get('https://usautosummit.com/delegates/')
time.sleep(3)  # 等待页面动态内容加载完成

# 解析页面源码
soup = BeautifulSoup(driver.page_source, 'html.parser')
items = soup.find_all('p', {'class': 'x-feature-box-text'})

# 提取职位与公司信息
for item in items:
    position = item.find('strong').text.strip()
    company = item.find('em').text.strip()
    print(f"职位: {position}, 公司: {company}")

# 关闭浏览器
driver.quit()

3. 验证选择器有效性

若以上方案仍不生效,可通过以下方式确认选择器是否正确:

  • 打开目标页面按F12进入开发者工具
  • 使用元素选择器定位目标 <p class="x-feature-box-text"> 元素,确认其存在于渲染后的DOM中(注意区分静态源码和动态生成的内容)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 11:22:51