【python】爬虫-西安医学院-校长信箱

简介: 本文以西安医学院-校长信箱为基础来展示爬虫案例。来介绍python爬虫。

本文以西安医学院-校长信箱为基础来展示爬虫案例。

以下就是我们目标要爬取的数据。这个要考虑到分页情况。

image.png

运行截图:

image.png

最关键的是你如何分析页面的元素,然后对应取值出来即可。

这是爬取后存入excel:
image.png

教学代码:

import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook

import time


def parse_page(url, ws):
    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')

    table = soup.find('div', class_='content').find('table')
    rows = table.find_all('tr')[1:]  # 第一行是表头,不需要

    for row in rows:
        cols = row.find_all('td')
        if len(cols) < 5:  # 确保列数符合预期
            continue

        query_code = cols[1].text.strip()
        title = cols[2].text.strip()
        submit_time = cols[3].text.strip()
        process_status = cols[4].text.strip()
        ws.append([query_code, title, submit_time, process_status])
        print("查询码:", query_code)
        print("标题:", title)
        print("提交时间:", submit_time)
        print("处理状态:", process_status)
        print("-" * 50)


def main():
    wb = Workbook()
    ws = wb.active
    ws.append(["查询码", "标题", "提交时间", "处理状态"])

    base_url = "https://www.xiyi.edu.cn/gzcylist.jsp"
    page_num = 1
    while True:
        url = f"{base_url}?totalpage=101&PAGENUM={page_num}&urltype=tree.TreeTempUrl&wbtreeid=1172"
        print(f"正在爬取第 {page_num} 页...")

        parse_page(url, ws)
        wb.save("crawl_data.xlsx")
        time.sleep(2)  # 休息2秒

        response = requests.get(url)
        soup = BeautifulSoup(response.text, 'html.parser')
        next_button = soup.find('span', class_='p_next')

        if next_button is None:
            break  # 如果下一页按钮不存在,结束循环
        page_num += 1

    print("数据已保存到 crawl_data.xlsx 文件中。")


if __name__ == "__main__":
    main()
相关文章
|
7天前
|
数据采集 XML 数据处理
使用Python实现简单的Web爬虫
本文将介绍如何使用Python编写一个简单的Web爬虫,用于抓取网页内容并进行简单的数据处理。通过学习本文,读者将了解Web爬虫的基本原理和Python爬虫库的使用方法。
|
5天前
|
数据采集 数据挖掘 Python
使用Python构建简单网页爬虫的技术指南
【5月更文挑战第17天】使用Python构建简单网页爬虫的教程,涉及`requests`和`BeautifulSoup4`库。首先安装所需库,然后发送HTTP GET请求获取HTML内容。利用`BeautifulSoup`解析HTML,找到目标元素,如`&lt;h2&gt;`标签内的新闻标题。处理相对链接,将它们转化为绝对URL。添加异常处理以应对网络问题,同时遵循网站的`robots.txt`规则。此爬虫适用于数据分析和市场研究等场景。
|
7天前
|
数据采集 Web App开发 数据处理
Lua vs. Python:哪个更适合构建稳定可靠的长期运行爬虫?
Lua vs. Python:哪个更适合构建稳定可靠的长期运行爬虫?
|
7天前
|
数据采集 Web App开发 Java
Python 爬虫:Spring Boot 反爬虫的成功案例
Python 爬虫:Spring Boot 反爬虫的成功案例
|
7天前
|
数据采集 Python
使用Python实现简单的Web爬虫
本文将介绍如何使用Python编写一个简单的Web爬虫,用于抓取网页上的信息。通过分析目标网页的结构,利用Python中的requests和Beautiful Soup库,我们可以轻松地提取所需的数据,并将其保存到本地或进行进一步的分析和处理。无论是爬取新闻、股票数据,还是抓取图片等,本文都将为您提供一个简单而有效的解决方案。
|
7天前
|
数据采集 存储 XML
如何利用Python构建高效的Web爬虫
本文将介绍如何使用Python语言以及相关的库和工具,构建一个高效的Web爬虫。通过深入讨论爬虫的基本原理、常用的爬虫框架以及优化技巧,读者将能够了解如何编写可靠、高效的爬虫程序,实现数据的快速获取和处理。
|
7天前
|
数据采集 Web App开发 数据可视化
Python爬虫技术与数据可视化:Numpy、pandas、Matplotlib的黄金组合
Python爬虫技术与数据可视化:Numpy、pandas、Matplotlib的黄金组合
|
7天前
|
数据采集 存储 大数据
Python爬虫:数据获取与解析的艺术
本文介绍了Python爬虫在大数据时代的作用,重点讲解了Python爬虫基础、常用库及实战案例。Python因其简洁语法和丰富库支持成为爬虫开发的优选语言。文中提到了requests(发送HTTP请求)、BeautifulSoup(解析HTML)、Scrapy(爬虫框架)、Selenium(处理动态网页)和pandas(数据处理分析)等关键库。实战案例展示了如何爬取电商网站的商品信息,包括确定目标、发送请求、解析内容、存储数据、遍历多页及数据处理。最后,文章强调了遵守网站规则和尊重隐私的重要性。
32 2
|
7天前
|
数据采集 定位技术 Python
Python爬虫IP代理技巧,让你不再为IP封禁烦恼了! 
本文介绍了Python爬虫应对IP封禁的策略,包括使用代理IP隐藏真实IP、选择稳定且数量充足的代理IP服务商、建立代理IP池增加爬虫效率、设置合理抓取频率以及运用验证码识别技术。这些方法能提升爬虫的稳定性和效率,降低被封禁风险。
|
7天前
|
数据采集 存储 JSON
Python爬虫面试:requests、BeautifulSoup与Scrapy详解
【4月更文挑战第19天】本文聚焦于Python爬虫面试中的核心库——requests、BeautifulSoup和Scrapy。讲解了它们的常见问题、易错点及应对策略。对于requests,强调了异常处理、代理设置和请求重试;BeautifulSoup部分提到选择器使用、动态内容处理和解析效率优化;而Scrapy则关注项目架构、数据存储和分布式爬虫。通过实例代码,帮助读者深化理解并提升面试表现。
28 0