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

使用Beautiful Soup爬取网页无法捕获全部信息,如何获取完整页面?

解决OpenReview页面无法获取完整内容的问题

嘿,我之前也踩过OpenReview这个坑!你遇到的问题本质是:OpenReview的会议页面是动态渲染的——你用requests.get()拿到的只是页面的基础框架,大部分出版物和对应的链接都是通过JavaScript在页面加载后才动态生成的,所以静态解析自然拿不到全部数据。

下面给你两个靠谱的解决方案:

方案一:用Selenium模拟浏览器加载(快速上手)

Selenium会真正打开浏览器,等页面所有动态内容加载完成后再抓取完整源码,这样就能拿到你需要的所有出版物和链接了。

步骤:

  1. 先安装依赖:pip install selenium,然后下载对应浏览器的驱动(比如ChromeDriver,要和你的Chrome版本匹配)
  2. 示例代码:
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

# 配置Chrome无头模式(不弹出浏览器窗口)
chrome_options = Options()
chrome_options.add_argument("--headless=new")

# 启动浏览器
driver = webdriver.Chrome(options=chrome_options)
url = 'https://openreview.net/group?id=ICLR.cc/2018/Conference'
driver.get(url)

# 等待页面加载完成(可以根据网络情况调整时间,或者用更智能的显式等待)
time.sleep(3)

# 获取完整的页面源码
source = driver.page_source
soup = BeautifulSoup(source, 'html.parser')

# 提取所有出版物和链接
publications = soup.find_all('div', class_='note')
for pub in publications:
    title = pub.find('h4', class_='note-title').text.strip()
    relative_link = pub.find('a', href=True)['href']
    full_link = f"https://openreview.net{relative_link}"
    print(f"标题: {title}\n链接: {full_link}\n")

# 记得关闭浏览器
driver.quit()

方案二:调用OpenReview官方API(更稳定靠谱)

其实OpenReview提供了官方的Python API,直接调用API拿数据比解析HTML高效太多,不仅能避开动态加载的问题,还能拿到结构化的数据,完全不用纠结HTML解析的细节。

步骤:

  1. 安装官方包:pip install openreview-py
  2. 示例代码:
import openreview

# 初始化客户端(公开数据不需要登录)
client = openreview.Client(baseurl='https://api.openreview.net')

# 获取ICLR 2018会议的所有盲审提交论文
notes = client.get_notes(invitation='ICLR.cc/2018/Conference/-/Blind_Submission')

# 遍历提取标题和论文链接
for note in notes:
    title = note.content['title']
    paper_link = f"https://openreview.net/forum?id={note.id}"
    print(f"标题: {title}\n链接: {paper_link}\n")

小提示:

  • 方案一适合快速验证,但要注意浏览器驱动的版本匹配,而且频繁请求可能会触发网站的反爬限制;
  • 方案二更推荐,官方API的数据结构清晰,获取的信息更准确,也不会有动态加载的困扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:15:01