python爬取人民网标题和链接并用sqlite保存在数据库中
时间: 2023-11-13 21:04:41 浏览: 76
好的,以下是Python爬取人民网标题和链接并用sqlite保存在数据库中的代码示例:
```python
import requests
from bs4 import BeautifulSoup
import sqlite3
# 请求人民网国内新闻页面
url = 'http://world.people.com.cn/GB/1015/index1.html'
r = requests.get(url)
# 解析HTML页面
soup = BeautifulSoup(r.content, 'html.parser')
# 获取新闻标题和链接
news_list = soup.find_all('div', class_='title')
title_list = [n.find('a').get_text() for n in news_list]
link_list = [n.find('a').get('href') for n in news_list]
# 将数据存入数据库
conn = sqlite3.connect('news.db')
cursor = conn.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS news (title TEXT, link TEXT)')
for i in range(len(title_list)):
sql = "INSERT INTO news (title, link) VALUES (?, ?)"
val = (title_list[i], link_list[i])
cursor.execute(sql, val)
conn.commit()
conn.close()
```
在这个示例中,我们首先使用requests库请求人民网国内新闻页面,并用BeautifulSoup库解析HTML页面。我们使用find_all()方法查找所有的新闻标题和链接,并将它们分别存储在title_list和link_list中。然后,我们使用sqlite3库将这些数据存入news.db数据库中。我们使用cursor()方法创建一个游标对象,并使用execute()方法执行SQL语句。如果news表不存在,则使用CREATE TABLE语句创建该表。然后,我们使用INSERT INTO语句将数据插入到news表中。最后,我们使用commit()方法提交事务并关闭数据库连接。
阅读全文