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

Python Selenium网页爬虫多页分页爬取功能实现求助

分页爬取实现思路
  • 目标站点分页通过url参数cpage控制,页码从1开始依次递增,最简单的实现方式是直接遍历拼接不同页码的url爬取
  • 也可以通过定位「下一页」按钮点击跳转,不过直接修改url参数的实现更稳定,不容易出现点击失效的问题
修正后的完整可运行代码
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import pandas as pd
import time

# 自动管理chromedriver,不需要手动指定路径
driver = webdriver.Chrome(ChromeDriverManager().install())
base_url = 'https://www.dailydac.com/chapter-11-bankruptcy-alert-system/?cpage={}'

# 初始化存储数据的列表
all_names = []
all_dates = []

# 这里示例先爬前10页,你可以根据站点实际总页数修改,也可以新增逻辑定位底部分页栏的最大页码自动取值
total_page = 10

for page in range(1, total_page + 1):
    # 跳转对应分页
    driver.get(base_url.format(page))
    # 等待页面加载完成,可根据自身网络情况调整时长
    time.sleep(2)
    
    # 获取当前页的公司名称和日期
    company_names = driver.find_elements_by_xpath('/html/body/div[1]/div[3]/div[2]/section/section/table/tbody/tr/td[4]')
    dates = driver.find_elements_by_xpath('/html/body/div[1]/div[3]/div[2]/section/section/table/tbody/tr/td[1]')
    
    # 把当前页数据加入总列表
    for name in company_names:
        all_names.append(name.text)
    for date in dates:
        all_dates.append(date.text)

# 汇总为DataFrame
df = pd.DataFrame({
    '公司名称': all_names,
    '日期': all_dates
})

print(df)
# 可按需保存为csv文件
# df.to_csv('bankruptcy_data.csv', index=False, encoding='utf-8-sig')

driver.quit()
注意事项
  • 如需自动获取总页数,可新增逻辑定位页面底部分页栏的最大页码元素取值,不需要手动填写total_page
  • 等待页面加载的逻辑可以改用Selenium显式等待,相比固定sleep的执行效率更高
  • 可以适当调大爬取间隔,避免请求频率过高被站点限制访问
  • 原代码存在错误赋值问题:data['Date_'] = Date是把元素对象直接存入了DataFrame,修正后改为直接存储提取的文本内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:48:05