用python编程将所输入的网站进行数据爬取(例如标题与链接),并将所爬取到的内容存入数据库中
时间: 2024-02-13 16:00:58 浏览: 70
好的,您可以使用Python中的BeautifulSoup库和Requests库实现网站数据爬取,并将数据存入数据库中。下面是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import sqlite3
# 连接数据库
conn = sqlite3.connect('website.db')
c = conn.cursor()
# 创建表格
c.execute('''CREATE TABLE IF NOT EXISTS website
(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, link TEXT)''')
# 网站链接
url = input("请输入网站链接:")
# 发送GET请求
response = requests.get(url)
# 解析HTML文档
soup = BeautifulSoup(response.text, 'html.parser')
# 获取所有a标签
links = soup.find_all('a')
# 遍历所有a标签
for link in links:
# 获取标题和链接
title = link.text
href = link.get('href')
# 如果链接是相对链接,则拼接完整链接
if href.startswith('/'):
href = url + href
# 将标题和链接插入数据库中
c.execute("INSERT INTO website (title, link) VALUES (?, ?)", (title, href))
# 提交更改并关闭连接
conn.commit()
conn.close()
```
在这个示例中,我们首先使用sqlite3库连接到一个名为“website.db”的数据库,并创建了一个名为“website”的表格。然后,我们请求用户输入要爬取的网站链接,并使用requests库发送GET请求。接着,我们使用BeautifulSoup库解析HTML文档,并使用find_all()方法获取所有a标签。最后,我们遍历所有a标签,获取标题和链接,并将它们插入到我们之前创建的数据库表格中。
当然,这只是一个简单的示例。在实际应用中,您可能需要处理一些异常情况,比如网站链接无效,或者网站的HTML文档格式不规范等。
阅读全文