Python编写案例:爬取网页数据并存储到数据库
发布时间:2023-12-04 17:53:26
Python是一种非常强大的编程语言,用于爬取网页数据并将数据存储到数据库非常方便。下面是一个使用Python编写的案例,演示了如何爬取网页数据并将数据存储到数据库中。
首先,我们需要安装一个Python的库,名为Beautiful Soup,用于解析网页数据。我们可以通过在终端中运行以下命令来安装Beautiful Soup:
pip install beautifulsoup4
接下来,我们需要导入一些库和模块,包括Beautiful Soup和一个用于数据库连接的模块,如pymysql。我们可以使用以下代码导入这些库和模块:
from bs4 import BeautifulSoup import requests import pymysql
接下来,我们需要连接到数据库。假设我们使用的是MySQL数据库。我们可以使用以下代码连接到数据库:
# 连接数据库
conn = pymysql.connect(
host='localhost', # 数据库地址
user='root', # 用户名
password='password', # 密码
db='testdb' # 数据库名
)
然后,我们需要创建一个表来存储我们要爬取的数据。我们可以使用以下代码创建一个名为data的表:
# 创建表
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS data (id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(255), url VARCHAR(255))")
接下来,我们需要编写一个函数来爬取网页数据。我们可以使用以下代码来定义该函数:
# 爬取网页数据
def crawl_data(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 解析网页数据并存储到数据库
for article in soup.find_all('article'):
title = article.h2.a.text
url = article.h2.a['href']
cur.execute("INSERT INTO data (title, url) VALUES (%s, %s)", (title, url))
conn.commit()
最后,我们需要编写一个主函数来启动爬虫。我们可以使用以下代码来定义该函数:
# 主函数
def main():
# 爬取前10页的数据
for i in range(1, 11):
url = f'http://example.com/page/{i}'
crawl_data(url)
# 关闭数据库连接
conn.close()
if __name__ == '__main__':
main()
通过调用主函数,我们可以启动爬虫并爬取指定网页的数据。在这个例子中,我们爬取了一个名为example.com的网页的前10页数据,并将数据存储到名为data的表中。
这就是一个使用Python编写的案例,爬取网页数据并将数据存储到数据库的示例。通过使用Python的强大功能和库,我们可以轻松地爬取网页数据并将其存储到数据库中,以供后续分析和处理。
