Django爬蟲是基于Web框架Django的一種爬蟲技術,可以用于爬取網站上的各種數據,如文本、圖像、音頻、視頻等,并將其存入數據庫中。本文將介紹如何使用Django爬蟲將爬取到的數據存入MySQL數據庫。
首先,需要安裝Django以及MySQL驅動程序。在命令行中輸入以下指令:
pip install django pip install pymysql
接下來,需要創建一個Django項目。在命令行中輸入以下指令:
django-admin startproject projectname
其中,projectname是項目的名稱,可自定義。然后,在settings.py文件中配置MySQL數據庫信息:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'database_name', 'USER': 'user_name', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '3306', } }
其中,database_name是數據庫的名稱,user_name和password是訪問數據庫的用戶名和密碼,localhost是數據庫的主機名,3306是數據庫的端口號。
接下來,創建一個Django應用。在命令行中輸入以下指令:
python manage.py startapp appname
其中,appname是應用的名稱,可自定義。然后,在appname/下創建一個models.py文件,定義要存入數據庫的數據模型:
from django.db import models class Data(models.Model): title = models.CharField(max_length=200) content = models.TextField() def __str__(self): return self.title
上述代碼定義了一個Data模型,包含標題和內容兩個字段,類型分別為CharField和TextField。
接下來,在appname/下創建一個spider.py文件,編寫爬蟲程序:
import requests from bs4 import BeautifulSoup from appname.models import Data def spider(): base_url = "https://www.example.com/" r = requests.get(base_url) soup = BeautifulSoup(r.content, "html.parser") data_list = [] for item in soup.find_all("div", class_="item"): title = item.find("h2", class_="title").text content = item.find("p").text data_list.append(Data(title=title, content=content)) Data.objects.bulk_create(data_list)
上述代碼從https://www.example.com/網站爬取數據,然后將數據存入數據庫中。
最后,在項目的根目錄下,運行以下命令:
python manage.py makemigrations python manage.py migrate python manage.py shell
運行以上命令后,會進入Django的交互式命令行界面。在其中運行以下指令:
from appname.spider import spider spider()
這樣,爬蟲程序就會運行并將數據存入MySQL數據庫中。