使用Beautiful Soup抽取新闻的标题、内容、时间。保存在sqlite数据库文件中
时间: 2024-05-01 09:16:14 浏览: 16
以下是使用Beautiful Soup和sqlite3抽取新闻的标题、内容、时间并保存至sqlite数据库的Python代码示例:
```python
import requests
from bs4 import BeautifulSoup
import sqlite3
# 创建一个sqlite数据库连接
conn = sqlite3.connect('news.db')
c = conn.cursor()
# 创建一个表来保存新闻标题、内容、时间
c.execute('''CREATE TABLE IF NOT EXISTS news
(id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
content TEXT,
time TEXT)''')
# 爬取新闻网站的页面内容
url = 'https://news.sina.com.cn/'
res = requests.get(url)
res.encoding = 'utf-8'
html = res.text
# 使用Beautiful Soup解析网页内容
soup = BeautifulSoup(html, 'html.parser')
# 抽取新闻标题、内容、时间并保存到数据库中
for news in soup.select('.news-item'):
title = news.select('.news-title')[0].text.strip()
content = news.select('.news-content')[0].text.strip()
time = news.select('.time')[0].text.strip()
c.execute("INSERT INTO news (title, content, time) VALUES (?, ?, ?)", (title, content, time))
# 提交更改并关闭数据库连接
conn.commit()
conn.close()
```
运行代码后,将会在当前目录下生成一个news.db的sqlite数据库文件,其中包含了新闻的标题、内容、时间信息。您可以使用sqlite3命令行工具或其他sqlite客户端工具来查看和操作这个数据库文件。