先安装一下库
cmd:
pip install requests beautifulsoup4 pandas
pip install openpyxl
然后python执行这个代码
import requests
from bs4 import BeautifulSoup
import pandas as pd
def scrape_exams(url):
headers = {
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3’
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, ‘html.parser’)
# 初始化列表以存储试卷信息
exam_info = []
# 找到所有的 list-item 元素
for item in soup.find_all('div', class_='list-item'):
title_tag = item.find('a', class_='high_light')
date_tag = item.find('li', class_='time-icon')
if title_tag:
exam_name = title_tag.get('title', 'No title found').strip()
exam_date = date_tag.text.replace('时间:', '').strip() if date_tag else 'No date found'
exam_info.append((exam_name, exam_date))
return exam_info
def main():
base_url = ‘https://www.zxxk.com/taojuan/m-g8/'
all_exams = []
# 爬取多个页面
for i in range(1, 101): # 举例为第1页到第10页
print(f'Scraping page {i}...')
exams = scrape_exams(f'{base_url}?page={i}')
all_exams.extend(exams)
# 保存到Excel
if all_exams:
df = pd.DataFrame(all_exams, columns=['试卷名称', '发布日期'])
df.to_excel('exam_papers.xlsx', index=False)
print('Data has been written to exam_papers.xlsx')
else:
print("No exams found. Nothing to write to Excel.")
if name == ‘main‘:
main()
命名为1.py
结果会得到
贵州省黔东南苗族侗族自治州从江县宰便镇宰便中学2023-2024学年八年级下学期4月期中考试试题
山西省晋城市2023-2024学年八年级下学期4月期中试题
天津市武清区等部分区2023-2024学年八年级下学期4月期中试题
辽宁省阜新市太平区阜新市第四中学2023-2024学年八年级下学期4月期中考试试题
要安装所需的Python库,你可以使用pip,这是Python的包管理器。以下是安装requests
, beautifulsoup4
, 和 pandas
的步骤。打开你的命令行工具(如终端、命令提示符等),然后输入以下命令:
1 | pip install requests beautifulsoup4 pandas |
如果你使用的是Python的虚拟环境,确保你已经激活了相应的环境。
此外,为了将数据导出为Excel文件,pandas
需要一个额外的库来处理Excel文件,通常是openpyxl
。你可以通过以下命令安装它:
1 | pip install openpyxl |
这些命令会从Python的官方包仓库下载并安装这些库及其依赖。安装完成后,你应该能够在你的Python脚本中导入并使用这些库。如果你遇到任何权限问题(特别是在Linux或Mac系统上),可能需要在命令前添加sudo
,例如:
1 | sudo pip install requests beautifulsoup4 pandas openpyxl |
这会提示你输入管理员密码,以便执行安装。
2,下面是网页的元素内容,然后把修改好后的全部代码发给我:

…
关键修改点
元素选择器调整:我调整了脚本以使用 ‘div’, class_=’list-item’ 选择器来找到每个试卷的容器。此外,我使用 ‘a’, class_=’high_light’ 来定位包含试卷名称的链接,并从其中提取 title 属性作为试卷名称。
日期提取:日期信息从
确保在执行这段代码之前,你的环境中已经安装了所有必要的库(requests, beautifulsoup4, pandas)。如果有任何问题或需要进一步调整,请随时提出。

