将新闻列表页面的源代码复制下来,并保存为origin.txt。pyton读入这个origin.txt文件,通过正则表达式获取用户、新闻标题和发布时间,并保存为info.csv文件。
时间: 2024-09-19 10:15:34 浏览: 53
pyton爬虫案例代码-python-reptilian-master.zip
5星 · 资源好评率100%
首先,你需要安装Python的`requests`库来抓取网页内容,以及`BeautifulSoup`库用于解析HTML。如果你还没有安装,可以使用pip安装:
```bash
pip install requests beautifulsoup4
```
然后,编写一个Python脚本来完成这个任务:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 定义需要保存信息的CSV文件名
output_file = "info.csv"
# 模拟请求新闻列表页,这里假设是一个URL
url = "http://example.com/news-list" # 请替换为实际的新闻列表页URL
# 发送GET请求
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 使用正则表达式提取用户、新闻标题和发布时间的模式(这取决于具体的HTML结构)
user_pattern = r'<span class="user">(\w+)</span>' # 示例,根据实际情况修改
title_pattern = r'<h2>(.*?)</h2>' # 示例,根据实际情况修改
date_pattern = r'date:(\d{4}-\d{2}-\d{2})' # 示例,根据实际情况修改
# 提取数据
data = []
for item in soup.find_all('div', class_='news-item'): # 假设每个新闻在div元素内
user = soup.find(text=user_pattern, parent=item).group(1)
title = soup.find(text=title_pattern, parent=item).strip()
date = soup.find(text=date_pattern, parent=item).group(1)
data.append([user, title, date])
# 保存到CSV文件
with open(output_file, 'w', newline='', encoding='utf-8') as csvfile:
fieldnames = ['User', 'Title', 'Publish Date']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
print(f"数据已成功保存到 {output_file}")
else:
print(f"请求失败,状态码:{response.status_code}")
阅读全文