使用Beautiful Soup抽取新闻的标题、内容、时间。保存在sqlite数据库文件中。
时间: 2024-05-02 21:21:39 浏览: 10
以下是使用Beautiful Soup抽取新闻的标题、内容、时间并保存在sqlite数据库文件中的代码:
```python
import requests
from bs4 import BeautifulSoup
import sqlite3
# 获取新闻页面的HTML代码
url = 'https://news.sina.com.cn/china/'
response = requests.get(url)
html = response.text
# 创建BeautifulSoup对象
soup = BeautifulSoup(html, 'html.parser')
# 获取新闻标题、内容、时间,并存入数据库
conn = sqlite3.connect('news.db')
cursor = conn.cursor()
for news in soup.select('.news-item'):
title = news.select('.news-item-title a')[0].text
content_url = news.select('.news-item-title a')[0]['href']
content_response = requests.get(content_url)
content_html = content_response.text
content_soup = BeautifulSoup(content_html, 'html.parser')
content = content_soup.select('.article')[0].text
time = news.select('.time')[0].text
cursor.execute("INSERT INTO news (title, content, time) VALUES (?,?,?)", (title, content, time))
conn.commit()
conn.close()
```
以上代码将新闻标题、内容、时间存入名为`news.db`的sqlite数据库文件中,其中数据库表格结构为:
```sql
CREATE TABLE news (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
content TEXT,
time TEXT
);
```
每次运行代码时,将会把新抓取的新闻数据存入数据库中。如果需要查看数据库中的数据,可以使用sqlite3命令行工具或其他sqlite客户端进行操作。