Python爬虫实战:使用Spyder抓取厦门大学招生信息
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)
代码说明
- 使用
requests库下载网页内容 - 使用
lxml库解析HTML - 使用XPath表达式提取招生信息的标题和日期
- 将提取到的数据存储到
DataFrame中 - 使用
pandas库将数据保存为Excel文件
注意
- 以上代码仅供参考,实际使用中可能需要根据网页结构调整XPath表达式
- 爬取网站数据时,请务必遵守网站的 robots.txt 协议,避免对网站造成负担
- 爬取数据仅供学习研究使用,请勿用于任何商业用途
希望本教程能够帮助您快速上手使用Python爬虫,抓取您需要的网站数据。
原文地址: https://www.cveoy.top/t/topic/brmm 著作权归作者所有。请勿转载和采集!