Django+scrapy,scrapy爬取的数据通过Django的模型保存到数据库
首先确认已经安装好Django和scrapy
创建一个Django项目和Django应用
django-admin startproject django_scrapy_test
python manage.py startapp novel_test
进入setting进行应用的注册和数据库配置
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','novel_test',#注册应用
]
#数据库配置
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'novel_test','USER':'root','PASSWORD':'123456','HOST':'localhost','PORT':3306}
}
然后创建scrapy
scrapy startproject scrapy_novel
cd scrapy_novel
scrapy genspider novel_spider www.xxx.com
创建好的目录如下
进入novel_test下面的models.py,设计模型:
from django.db import models# Create your models here.class Novel(models.Model):novel_name = models.CharField(max_length=100,verbose_name='小说名称')author = models.CharField(max_length=50,verbose_name='作者')class Meta():db_table = 'novel'verbose_name = '小说'verbose_name_plural = verbose_namedef __str__(self):return self.novel_name
进行迁移
python manage.py makemigrations
python manage.py migrate
迁移完成,查看数据库是否有了相应的表
mysql> show tables;
+----------------------------+
| Tables_in_novel_test |
+----------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
| novel |
+----------------------------+
11 rows in set (0.00 sec)
然后对scrapy的设置文件进行,在设置文件中加上以下内容(关于爬虫的一些设置如机器人协议,输出日志等这里就不详细说了)
import os
import sys
sys.path.append(os.path.dirname(os.path.abspath('.')))
os.environ['DJANGO_SETTINGS_MODULE'] = 'django_scrapy_test.settings' # 项目名.settings
import django
django.setup()
编写爬虫文件,这时可以将Django的模型类导入了
import scrapyfrom novel_test.models import Novel #从Django导入的模型类
class NovelSpiderSpider(scrapy.Spider):name = 'novel_spider'#allowed_domains = ['www.xxx.com']start_urls = ['https://www.xbiquge.la/xuanhuanxiaoshuo/']def parse(self, response):li_list = response.xpath('//div[@class="r"]/ul/li')for li in li_list:novel_name = li.xpath('./span[1]/a/text()').extract_first()author = li.xpath('./span[2]/text()').extract_first()#使用模型类存入数据库Novel.objects.create(novel_name=novel_name,author=author)
然后执行爬虫
scrapy crawl novel_spider
爬虫执行后,查看数据库
mysql> select * from novel;
+----+--------------------------------------+--------------------+
| id | novel_name | author |
+----+--------------------------------------+--------------------+
| 1 | 伏天氏 | 净无痕 |
| 2 | 牧神记 | 宅猪 |
| 3 | 武炼巅峰 | 莫默 |
| 4 | 沧元图 | 我吃西红柿 |
| 5 | 圣墟 | 辰东 |
| 6 | 全职法师 | 乱 |
| 7 | 叶辰孙怡夏若雪 | 全文免费阅读 |
| 8 | 终极斗罗 | 唐家三少 |
| 9 | 元尊 | 天蚕土豆 |
| 10 | 仙武帝尊 | 六界三道 |
| 11 | 帝霸 | 厌笔萧生 |
| 12 | 万古神帝飞天鱼 | 飞天鱼 |
| 13 | 都市极品医神 | 风会笑 |
| 14 | 左道倾天 | 风凌天下 |
| 15 | 斗罗大陆 | 唐家三少 |
| 16 | 临渊行 | 宅猪 |
| 17 | 人皇纪 | 皇甫奇 |
| 18 | 大主宰 | 天蚕土豆 |
| 19 | 武动乾坤 | 天蚕土豆 |
| 20 | 上古强身术 | 我是多余人 |
| 21 | 剑来 | 烽火戏诸侯 |
| 22 | 飞剑问道 | 我吃西红柿 |
| 23 | 一剑独尊 | 青鸾峰上 |
| 24 | 混沌剑神 | 心星逍遥 |
| 25 | 斗破苍穹 | 天蚕土豆 |
| 26 | 盖世 | 逆苍天 |
| 27 | 叶尘池瑶小说全文免费阅读 | 叶尘池瑶 |
| 28 | 完美世界 | 辰东 |
| 29 | 无敌剑域 | 青鸾峰上 |
| 30 | 永恒圣帝 | 千寻月 |
+----+--------------------------------------+--------------------+
30 rows in set (0.00 sec)
成功存入了数据
Django+scrapy,scrapy爬取的数据通过Django的模型保存到数据库相关推荐
- python爬虫scrapy框架爬取网页数据_Scrapy-Python
scrapy Scrapy:Python的爬虫框架 实例Demo 抓取:汽车之家.瓜子.链家 等数据信息 版本+环境库 Python2.7 + Scrapy1.12 初窥Scrapy Scrapy是一 ...
- python中scrapy可以爬取多少数据_python中scrapy框架爬取携程景点数据
------------------------------- [版权申明:本文系作者原创,转载请注明出处] 文章出处:https://blog.csdn.net/sdksdk0/article/de ...
- python中scrapy可以爬取多少数据_python scrapy框架爬取某站博人传评论数据
1. B站博人传评论数据爬取简介 今天想了半天不知道抓啥,去B站看跳舞的小姐姐,忽然看到了评论,那就抓取一下B站的评论数据,视频动画那么多,也不知道抓取哪个,选了一个博人传跟火影相关的,抓取看看.网址 ...
- 数据采集与存储案例——基于Python爬虫框架Scrapy的爬取网络数据与MySQL数据持久化
此案例需要预先安装pymsql python3.7.4 scrapy2.7.1 一.安装scrapy框架 1.使用pip命令安装scrapy pip install scrapy 在这里下载太慢可以使 ...
- Python Scrapy框架爬取微博数据
-1.前言 最近导师接到了一个项目,要爬取社交网路的数据,其中有一部分是爬取微博,Twitter和Facebook.目前实现了微博部分.先写着. 整个工程是使用的python3.6+Scray框架+M ...
- scrapy将爬取的数据存入mysql_scrapy爬取数据存入MySQL
创建工程 scrapy startproject tutorial 创建蜘蛛 scrapy genspider crawl_mysql inputMysql http://lab.scrapyd.cn ...
- python爬取南京市房价_Python的scrapy之爬取链家网房价信息并保存到本地
因为有在北京租房的打算,于是上网浏览了一下链家网站的房价,想将他们爬取下来,并保存到本地. 先看链家网的源码..房价信息 都保存在 ul 下的li 里面 爬虫结构: 其中封装了一个数据库处理模 ...
- 使用Scrapy框架爬取88读书网小说,并保存本地文件
Scrapy框架,爬取88读书网小说 链接: 88读书网 源码 工具 python 3.7 pycharm scrapy框架 教程 spider: # -*- coding: utf-8 -*- im ...
- python爬取链家房价消息_Python的scrapy之爬取链家网房价信息并保存到本地
因为有在北京租房的打算,于是上网浏览了一下链家网站的房价,想将他们爬取下来,并保存到本地. 先看链家网的源码..房价信息 都保存在 ul 下的li 里面 爬虫结构: 其中封装了一个数据库处理模 ...
最新文章
- Java FAQ(slhynju 0.3版)
- C socket编程
- 2015级C++第10、11周程序阅读 继承和派生
- (转贴) C#编码标准--编码习惯
- 大数据第1期——目录
- Beta冲刺 day7
- 居家隔离14+7天的第三天 2021年8月1日15:49:09
- [ CodeForces 1063 B ] Labyrinth
- 开源|Davinci用户体验:你离数据可视精美大屏只差一个Davinci!
- 二值化_二值化算法之宇智波鼬
- Dynamics AX2012 Excel导入AX
- 数据库, 数据仓库, 数据集市,数据湖,数据中台
- bilibili老版本_bilibili旧版本
- Skype、MSN/Live Messenger、Lync全面整合
- SaaSpace:11 款最佳免费备份软件工具
- 华商网H.S.W社团:寻找有创造力的陕西大学生
- React+TS学习和使用(三):React Redux和项目的路由配置
- 拦截CSDN顶端广告
- PAT乙级测试题1024(C语言实现)
- Mysql基础学习内容
热门文章
- 面试宝典 | 不完全总结
- android ndk 编译虚幻4,[UE4]Android 打包步骤与keystore生成设置
- Linux 系统中如何删除软连接
- 日语常见自、他动词对照表
- WebOffice插件实例
- 学 Win32 汇编[26] - 加减指令: INC、DEC、NEG、ADD、ADC、SUB、SBB、CMP
- csv 文件打开乱码 python解决方法
- PaddleDetection安全帽检测
- 关于如何使用Linux模拟器编写.sh程序
- 2022/7/26华为机试,Q2,上机迷迷糊糊的,搞完突然醒悟,自抱自泣!三道题附带答案