获取南旅院酒店管理学院新闻(学号后两位数字); 个页面数据并存入CSV文件(文件名为HMS.csv);新闻地址为: https://www.nith.edu.cn/hms/361
时间: 2024-12-10 07:47:41 浏览: 8
要获取南京旅游职业学院酒店管理学院的新闻,并将学号后两位的特定数据存入CSV文件中,您可以按照以下步骤操作:
1. **安装必要的库**:首先,确保已经安装了Python的requests和BeautifulSoup库,如果没有,可以使用`pip install requests beautifulsoup4`命令安装。
2. **编写脚本**:
编写一个Python脚本,例如 `news_scraper.py`,内容如下:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 新闻链接
url = "https://www.nith.edu.cn/hms/361"
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'html.parser')
# 查找包含学号和新闻的部分
data_rows = soup.find_all('div', class_='some_class') # 这里假设学号和新闻在某个class名下的div标签中
# 创建CSV文件
with open('HMS.csv', mode='w', newline='', encoding='utf-8-sig') as file:
writer = csv.writer(file)
fieldnames = ['学号', '新闻标题'] # 根据实际数据字段调整
writer.writerow(fieldnames)
for row in data_rows:
try:
# 提取学号和新闻标题(这里仅做示例,真实情况需定位实际的元素)
student_id = row['data-id'].split('/')[-1][-2:] # 假设学号在"data-id"属性后两位
news_title = row.find('h3').text if row.find('h3') else "" # 新闻标题可能在一个h3标签内
writer.writerow([student_id, news_title])
except Exception as e:
print(f"提取数据出错:{e}")
else:
print("请求失败,状态码:", response.status_code)
```
3. **运行脚本**:将脚本保存后,在终端或命令提示符中运行`python news_scraper.py`(假设脚本位于当前目录)。
请注意,这个例子中的`class_`名字、`data-id`属性以及提取学号和标题的方式都是基于猜测的,实际的HTML结构需要您根据具体的网页源代码进行分析。同时,由于网站可能有不同的布局和动态加载,动态内容可能需要使用更复杂的技术,比如Selenium配合等待。
阅读全文