由于本题需要爬取动态页面的数据,我们需要使用Selenium库,以下是完整代码:

from selenium import webdriver
import time

# 设置浏览器
options = webdriver.ChromeOptions()
options.add_argument('--headless')  # 无界面模式
options.add_argument('--disable-gpu')  # 禁用GPU加速
driver = webdriver.Chrome(options=options)

# 打开网页
url = 'https://data.eastmoney.com/bbsj/202303/yjbb.html'
driver.get(url)

# 获取表格头
table_head = driver.find_element_by_xpath('//table[@id="dt_1"]/thead/tr')
head_list = table_head.text.split('\n')
print(head_list)

# 获取表格数据
table_data = []
while True:
    # 获取数据行
    table_rows = driver.find_elements_by_xpath('//table[@id="dt_1"]/tbody/tr')
    for row in table_rows:
        row_list = row.text.split('\n')
        table_data.append(row_list)
        print(row_list)
    
    # 判断是否有下一页按钮
    next_button = driver.find_elements_by_xpath('//div[@class="paginate_button next"]')
    if len(next_button) == 0:
        break
    
    # 点击下一页按钮
    next_button[0].click()
    time.sleep(1)

# 关闭浏览器
driver.quit()

我们首先设置浏览器选项,选择无界面模式和禁用GPU加速,然后打开网页。接着,我们先获取表格头,然后进入一个循环,不断获取表格数据,并判断是否有下一页按钮。如果有,就点击下一页按钮,否则就退出循环。最后,我们关闭浏览器

写一段python代码目标是获取httpsdataeastmoneycombbsj202303yjbbhtml 网页表格中的数据该网页使用了ajax技术的下一页按钮翻页要求能遍历所有页面直到不再有下一页按钮。

原文地址: http://www.cveoy.top/t/topic/crUA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录