Python爬虫实战:使用Spyder抓取厦门大学招生信息

本教程将使用Spyder软件,结合requests、lxml、pandas等库,编写Python代码,实现抓取厦门大学招生标题和日期信息,并将其保存为Excel表格。

代码示例

import requests
from lxml import etree
import pandas as pd

def download(url):
    response = requests.get(url)
    response.encoding = response.apparent_encoding
    html_text = response.text
    return html_text

def parse(html_text):
    selector = etree.HTML(html_text)
    element_list = selector.xpath('//div[@class='news_list']/ul/li')
    data_list = []
    for element in element_list:
        title = element.xpath('.//h3/a/text()')[0]
        date = element.xpath('.//span/text()')[0]
        item = {'标题': title, '日期': date}
        data_list.append(item)
    df = pd.DataFrame(data_list)
    return df

data = pd.DataFrame()
url = 'https://www.xmu.edu.cn/zsxx/34/list.htm'
html_text = download(url)
df = parse(html_text)
data = pd.concat([data, df])

selector = etree.HTML(html_text)
page_number_str = selector.xpath('//div[@class='page_nav']/span/text()')[0]
numbers = int(page_number_str.split('/')[-1])

url_template = 'https://www.xmu.edu.cn/zsxx/34/list{}.htm'
for page_number in range(2, numbers + 1):
    url = url_template.format(page_number)
    html_text = download(url)
    df = parse(html_text)
    data = pd.concat([data, df])

data.to_excel('./厦门大学招生信息.xlsx', index=False)

代码说明

  1. 使用requests库下载网页内容
  2. 使用lxml库解析HTML
  3. 使用XPath表达式提取招生信息的标题和日期
  4. 将提取到的数据存储到DataFrame
  5. 使用pandas库将数据保存为Excel文件

注意

  • 以上代码仅供参考,实际使用中可能需要根据网页结构调整XPath表达式
  • 爬取网站数据时,请务必遵守网站的 robots.txt 协议,避免对网站造成负担
  • 爬取数据仅供学习研究使用,请勿用于任何商业用途

希望本教程能够帮助您快速上手使用Python爬虫,抓取您需要的网站数据。

Python爬虫实战:使用Spyder抓取厦门大学招生信息

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

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