用re解释一个校园网的校园要闻并用csv保存
时间: 2024-10-14 09:07:21 浏览: 9
在Python中,你可以使用`re`模块来进行正则表达式匹配,用于解析文本数据。假设你要从校园新闻网站上抓取一些信息,比如标题、发布日期等,并将这些信息存入CSV文件,可以按照以下步骤操作:
首先,安装必要的库(如果尚未安装):
```bash
pip install requests beautifulsoup4 pandas
```
然后编写Python代码:
```python
import re
import requests
from bs4 import BeautifulSoup
import csv
# 假设URL是校园新闻页面
url = "http://example.com/campus_news"
# 发送请求获取网页内容
response = requests.get(url)
content = response.text
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(content, 'html.parser')
# 定义要提取的字段及正则表达式模式(这里假设标题以<h2>标签,日期在<p>标签内)
title_pattern = r'<h2>(.*?)</h2>'
date_pattern = r'<p>(\d{4}-\d{2}-\d{2})</p>' # 根据实际格式调整日期正则
# 创建空列表存储提取的数据
news_data = []
# 遍历页面找到所有新闻条目
for article in soup.find_all('div', class_='news-item'):
title = re.search(title_pattern, str(article)).group(1) if title_pattern else None
date = re.search(date_pattern, str(article)).group(1) if date_pattern else None
# 检查是否成功提取
if title and date:
news_data.append([title, date])
else:
print(f"无法提取文章:{article}")
# 将数据写入CSV文件
with open('campus_news.csv', 'w', newline='', encoding='utf-8') as csvfile:
fieldnames = ['Title', 'Date']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for item in news_data:
writer.writerow({'Title': item[0], 'Date': item[1]})
阅读全文