系列文章目录

第一章:scrapy爬取起点中文网24小时热销榜单
第二章:scrapy爬取苏州二手房交易信息
第三章:scrapy爬取QQ音乐榜单歌曲及豆瓣电影信息
第四章:scrapy爬取起点中文网24小时热销榜单(将数据存到数据库中)


文章目录

  • 系列文章目录
  • 前言
  • 一、安装需要的库
  • 二、项目分析
  • 三、代码编写
    • 1.编写piplines(将数据插入数据库)
    • 2.编写settings(编写配置信息)
    • 3.修改start
    • 4.效果图
  • 总结

前言

之前每次将爬虫得到的信息都存到了csv文件中,虽然可以用wps打开并进行修改,但是还有有一些不方便,这次就直接在程序中,将所的信息直接插到数据库中进行保存,对于日后的数据再次调用也方便了许多。


一、安装需要的库

1.安装数据库(博主选择的是mysql)
不是本次内容不说了,如果你的电脑是ubuntu可以看我另一篇博客
ubuntu20.04安装mysql5.7及Navicat
2.安装mysqlclient或者pymysql
这里简单说一下两者的区别
前者是由python和mysql共同开发的,是一个C的扩展模块,效率更快一些,但是安装编译较麻烦。
后者是一个纯python的驱动,可以直接用pip安装,但是效率略低一些。
博主前期用的是pymysql但现在已经换成mysqlclient,建议新手用pymysql如果是打算长期使用爬虫的还是用mysqlclient。根据自身需求决定吧。
安装pymysql直接 pip install pymysql
安装mysqlclient,也可以直接pip,但一般都会有编译错误,自己根据错误信息解决。

二、项目分析

1.数据抓取
本次项目是在第一章的项目上对数据进行了新的处理,对于数据的抓取并没有什么新的内容,略过。
2.创建数据表
如图创建五个数据字段,数据库操作不是本次内容,略过。

三、代码编写

因此代码实在第一章的项目上进行改进,所以只说下需要修改的部分。

1.编写piplines(将数据插入数据库)

import MySQLdbclass MySQLPipeline(object):def open_spider(self,spider):#再spider开始之前,调用一次#这里的表名,用户名,密码都存储在settings中,下面每个get()中有两个参数#第一个就是从settings中获取配置信息,第二个当获取失败时采用的信息。db_name=spider.settings.get("MYSQL_DB_NAME","qidian")host = spider.settings.get("MYSQL_HOST", "localhost")user = spider.settings.get("MYSQL_USER", "root")password = spider.settings.get("MYSQL_PASSWORD", "123456")#连接mysql数据库self.db_conn=MySQLdb.connect(db=db_name,host=host,user=user,password=password,charset="utf8")self.db_cursor=self.db_conn.cursor() #建立游标尺def process_item(self,item,spider):#处理每一个itemvaluse=(item["name"],item["author"],item["type"],item["form"])#确定sqlsql="insert into hot(name,author,type,form) value(%s,%s,%s,%s)"self.db_cursor.execute(sql,valuse)return itemdef close_spider(self,spider):#再spider结束时,调用一次self.db_conn.commit()#提交数据self.db_cursor.close() #删除游标尺self.db_conn.close() #断开链接

2.编写settings(编写配置信息)

在最下方加入数据库的配置信息

MYSQL_DB_DNNAME="qidian"
MYSQL_HOST="localhost"
MYSQL_user="root"
MYSQL_PASSWORD="123456"

开启piplines管道文件。

ITEM_PIPELINES = {'qidian_hot.pipelines.MySQLPipeline': 400,
}

3.修改start

from scrapy import cmdlinecmdline.execute("scrapy crawl hot" .split())

4.效果图


总结

此次文章在内容抓取上没有什么新的内容,只是增加了将数据插入数据库,主要是为日后的代码复用提供便利。

scrapy爬取起点中文网24小时热销榜单(将数据存到数据库)相关推荐

  1. scrapy爬取起点中文网24小时热销榜单

    系列文章目录 第一章 scrapy爬取起点中文网24小时热销榜单. 文章目录 系列文章目录 前言 一.项目需求 二.项目分析 三.程序编写 1.编写item(数据存储) 2.编写spider(数据抓取 ...

  2. Scrapy 爬取起点中文网存储到 MySQL 数据库(自定义 middleware)

    Scrapy 爬取起点中文网 1. 创建项目 2. 创建爬虫实例 3. 创建一个启动文件 main.py 4. 项目的总体树结构 5. settings.py 6. items.py 7. qidia ...

  3. scrapy 爬取起点中文网首页的本周强推作品的详情介绍

    scrapy 爬取起点中文网首页的每周强推作品的详情介绍 从列表页跳转到详情页 保存的数据 封面图 小说名 作者 类型 简介 import scrapy# 起点首页 本周推荐 class Weektj ...

  4. Python爬取雪球7*24小时信息

    目的 由于工作需要,尝试爬取雪球7*24小时信息. 需要的数据就是下图红框框起来的部分. 运行环境 操作系统:windows 10 浏览器:Chrome Python版本:3.8 使用的第三方库:re ...

  5. python爬虫之爬取起点中文网小说

    python爬虫之爬取起点中文网小说 hello大家好,这篇文章带大家来制作一个python爬虫爬取阅文集团旗下产品起点中文网的程序,这篇文章的灵感来源于本人制作的一个项目:电脑助手 启帆助手 ⬆是项 ...

  6. Go爬取起点中文网 解决文字反爬

    Go语言的爬虫库不如Python强大,却也五脏俱全. 今天我们分析如何爬取起点中文网数据,以及遇到反爬如何处理. 作品链接:http://www.365yg.com/i6678092837810078 ...

  7. Python爬虫之爬取起点中文网

    python之爬取起点中文网 最近学了爬虫,想实战一下就选取了最近经常看小说的起点中文网来进行爬取 过程如下: 分析爬取信息: 爬取网址:https://www.qidian.com/rank?chn ...

  8. scrapy爬取起点小说网

    闲来无事,在学习过程中练习用scrapy爬取起点小说名 工具:python3.6 操作系统:linux 浏览器:谷歌浏览器 创建项目 在黑屏终端创建一个项目:scrapy startproject Q ...

  9. python 爬虫抓取网页数据导出excel_Python爬虫|爬取起点中文网小说信息保存到Excel...

    前言: 爬取起点中文网全部小说基本信息,小说名.作者.类别.连载\完结情况.简介,并将爬取的数据存储与EXCEL表中 环境:Python3.7 PyCharm Chrome浏览器 主要模块:xlwt ...

最新文章

  1. iQOO3Android11稳定版,vivo安卓11来了iQOO3 NEX3S尝鲜Androi11测试版!
  2. 02.CSS基础笔记及导入
  3. poj 2486 树形dp
  4. 字符串之字符判断以及字母的大小写转换
  5. matlab求负数分数幂问题
  6. 使用c语言函数的小结,C语言函数指针小结(1)
  7. 3 个主流 Java 微服务框架,各有特色
  8. 删除下拉框只找23火星软件_下拉框找20火星软件
  9. 项目经理价值的最终体现
  10. scrapy 报错401
  11. Android 应用换肤功能(白天黑夜主题切换)
  12. 如何防止QT程序未响应
  13. 【ESP32】VSCode+Arduino+Platformio 如何使用ESP32上的PSRAM
  14. dcdc模块降额设计_爱默生网络能源PCB设计规范
  15. 如何通过AppStore变态审核:看同行经验
  16. CLI 什么是 command-line interface
  17. 使用FME 批量OSGB转FBX(OBJ) (亲测)
  18. Linux入门学习(九)—— 怎么查看命令的帮助文档、怎么查看系统配置文件的帮助文档?
  19. STM32WB55_NUCLEO开发(2)----使用STM32CubeMX 生成的简单 BLE 应用程序连接手机APP
  20. 腾讯又一开源力作发布

热门文章

  1. matlab数字滤波器设计实验,用MATLAB设计IIR数字滤波器
  2. 鲁大师2022年Q3手机报告:性能跑分逼近130万大关,UI流畅榜有了新变化!
  3. 合并拷贝图层蒙版——梦幻仙境
  4. Git: 'not something we can merge'
  5. idea中使用git合并代码
  6. volatile详解(任何人都能懂的那种)
  7. 哈希表(概念,冲突的解决,实现哈希桶)
  8. Android自定义view实现刮刮乐
  9. 数据库系统原理实验一——数据库定义实验
  10. 什么是忍耐型人格?忍耐型性格的优劣势及职业分析