写一篇根据网站域名进行爬虫,获取网站内容入库
时间: 2024-04-10 11:31:34 浏览: 18
要根据网站域名进行爬虫并将网站内容存入数据库,你可以使用Python中的`requests`库进行网页请求和解析,以及使用适合你的数据库(例如MySQL、MongoDB等)进行数据存储。下面是一个示例代码,使用Python的`requests`库和MySQL数据库:
```python
import requests
from bs4 import BeautifulSoup
import mysql.connector
# 连接到MySQL数据库
db = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="your_database"
)
cursor = db.cursor()
def crawl_and_store_website_content(url):
# 发送HTTP GET请求获取网页内容
response = requests.get(url)
if response.status_code == 200:
# 使用BeautifulSoup解析网页内容
soup = BeautifulSoup(response.text, 'html.parser')
# 获取网页标题
title = soup.title.string
# 获取网页正文
content = soup.get_text()
# 将网页内容存入数据库
sql = "INSERT INTO websites (url, title, content) VALUES (%s, %s, %s)"
values = (url, title, content)
cursor.execute(sql, values)
db.commit()
print("网站内容已存入数据库")
# 使用示例
website_url = "http://www.example.com"
crawl_and_store_website_content(website_url)
# 关闭数据库连接
cursor.close()
db.close()
```
在上面的示例中,我们首先使用`requests`库发送HTTP GET请求,获取网页内容。然后,使用`BeautifulSoup`库解析网页内容,提取网页标题和正文。接下来,我们使用MySQL数据库连接,并将网站URL、标题和内容存入数据库的`websites`表中。最后,我们关闭数据库连接。
请注意,这只是一个简单的示例,实际应用中可能需要处理更复杂的网页结构、处理异常情况和优化爬虫策略等。另外,确保你已经安装了需要使用的库(`requests`、`beautifulsoup4`和`mysql-connector-python`),并根据你的数据库配置进行相应的修改。