爬虫


先安装一下库
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月期中考试试题

1,https://www.zxxk.com/taojuan/m-g8/,这是我要爬取的网站名称,然后有很多很多页,你要把当页的试卷名称提取出来,他们典型特征是某某某试卷,带有试卷两个关键字,我要把全部页面的这个提取出来,导入到一个excel里,你写一个python脚本给我

要安装所需的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,下面是网页的元素内容,然后把修改好后的全部代码发给我:




广东省佛山市顺德区2023-2024学年八年级下学期期中试题





关键修改点
元素选择器调整:我调整了脚本以使用 ‘div’, class_=’list-item’ 选择器来找到每个试卷的容器。此外,我使用 ‘a’, class_=’high_light’ 来定位包含试卷名称的链接,并从其中提取 title 属性作为试卷名称。
日期提取:日期信息从

  • 中提取,假设日期紧跟图标元素。如果日期格式或位置变化,可能需要进一步调整。
    确保在执行这段代码之前,你的环境中已经安装了所有必要的库(requests, beautifulsoup4, pandas)。如果有任何问题或需要进一步调整,请随时提出。


  • 文章作者: 花粱
    版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 花粱 !
      目录