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

使用Beautiful Soup爬取时如何点击下一页按钮更新表格内容

解决前端本地分页的数据爬取问题

点击下一页无网络请求,说明这是前端本地分页——所有数据已经一次性加载到页面中,只是通过JS/CSS控制显示/隐藏不同页面的内容,而非通过新的网络请求获取下一页数据。以下是几种可行的解决方法:

方法1:直接提取页面中所有隐藏的数据

因为所有数据都在初始HTML里,无需模拟点击分页,直接用BeautifulSoup提取全部目标元素即可:

import requests
from bs4 import BeautifulSoup

target_url = "https://www.fi.se/sv/vara-register/blankningsregistret/emittent/?id=529900JY9ZBGUXGRKQ86"
resp = requests.get(target_url)
soup = BeautifulSoup(resp.text, "html.parser")

# 替换为你要提取的数据对应的标签/类名,比如表格行、条目div等
all_entries = soup.find_all("tr", class_="table-row")  # 示例选择器,需根据实际页面调整
for entry in all_entries:
    # 提取条目内的具体字段,比如文本、链接等
    print(entry.get_text(strip=True))

验证方式:右键页面→查看页面源代码,搜索第二页中的某条数据内容,如果能找到,说明此方法有效。

方法2:从页面的JS变量中提取数据

如果数据是通过JS动态渲染(但未发请求),可能会以JSON形式存储在页面的<script>标签中,可通过正则提取:

import requests
import re
import json

resp = requests.get(target_url)
# 匹配存储数据的JS变量,需根据页面源码调整变量名
data_pattern = re.compile(r"var\s+registrationData\s*=\s*(.*?);", re.DOTALL)
match_result = data_pattern.search(resp.text)

if match_result:
    raw_json = match_result.group(1)
    # 转换为Python可处理的对象
    parsed_data = json.loads(raw_json)
    # 遍历处理数据
    for item in parsed_data:
        print(item)

方法3:用Selenium模拟浏览器分页(万不得已时用)

如果上述两种方法都无法获取数据,可使用Selenium模拟真实浏览器的点击操作,执行JS渲染分页:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()  # 需提前配置ChromeDriver环境
driver.get(target_url)

while True:
    # 提取当前页数据,替换为实际元素选择器
    current_page_data = driver.find_elements(By.CLASS_NAME, "entry-item")
    for item in current_page_data:
        print(item.text)
    
    # 尝试点击下一页按钮,替换为实际按钮的选择器
    try:
        next_button = WebDriverWait(driver, 10).until(
            EC.element_to_be_clickable((By.CSS_SELECTOR, "a.pagination-next"))
        )
        next_button.click()
    except:
        # 无下一页时退出循环
        break

driver.quit()

分页按钮界面截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:41:33