爬虫(实战):scrapy+mysql 豆瓣电影top250

爬虫(实战):scrapy+mysql 豆瓣电影top250

        • 1.前言
        • 2.编辑环境
        • 3.项目分享
          • 3.1 项目目录结构
          • 3.2 项目操作过程
          • 3.3 项目结果展示
        • 4.项目总结
          • 4.1 问题与解决
          • 4.2 scrapy框架内在联系

1.前言

​ 作者学习了scrapy爬虫框架,想把获取的爬虫信息保存至本地mysql数据库中,查找了下不少作者的资料,这里整理了本人的学习经过,记录+分享在这里,望读者交流学习和批评建议。

2.编辑环境

在这里插入图片描述

3.项目分享

3.1 项目目录结构

爬虫(实战):scrapy+mysql 豆瓣电影top250_第1张图片

结构简介:
1.spiders-是主爬虫文件夹,其中mvSpi.py是网页信息获取的主代码文件
2.items.py-定义了将要存储在mysql中结构化数据字段
3.pipelines.py-管道文件,定义数据库连接与操作信息等
4.setting.py-设置文件,定义请求头、mysql配置等信息
5.run.py-运行文件,以便不进入命令行,也能运行项目
以上未介绍的文件,为项目创建初始内容,本项目没有进行相应修改。
3.2 项目操作过程

(1)项目创建

以下操作默认配置好了python环境
-首先,在cmd命令行cd到要放scrapy项目的文件夹路径下
-然后,运行scrapy startproject mvSrc 命令,会出现上面的目录结构了
-最后,cd到mvSrc目录下,运行scrapy genspider mvSpi movie.douban.cn 会在spiders下创建爬虫文件

(2) mvSpi.py的编辑

​ 这里是网页信息获取的主代码文件,当然在编辑具体的网页信息获取程序前,需要对目标网址进行网页分析。目标网页内容如下:

爬虫(实战):scrapy+mysql 豆瓣电影top250_第2张图片
​ 这里我们想要获取的电影信息有|电影名称|导演|评分|剧情分类|电影网址|
爬虫(实战):scrapy+mysql 豆瓣电影top250_第3张图片爬虫(实战):scrapy+mysql 豆瓣电影top250_第4张图片
​ 在解析网页内容时,可以使用shell交互式平台进行取数测试,具体步骤就是cd到项目目录下,运行如下代码:

>>>scrapy shell https://movie.douban.com/top250  
In[1]:response.xpath('./div[@class="hd"]/a/span[1]/text()').extract()

爬虫(实战):scrapy+mysql 豆瓣电影top250_第5张图片爬虫(实战):scrapy+mysql 豆瓣电影top250_第6张图片
(3) items.py的编辑

​ 定义将要存储在mysql中结构化数据字段
爬虫(实战):scrapy+mysql 豆瓣电影top250_第7张图片
​ 当然,也要在你本地mysql中创建相应的库表

CREATE TABLE `mvtable` if not exists (
  `mv_name` varchar(100) DEFAULT NULL COMMENT '电影名称',
  `mv_update` varchar(200) DEFAULT NULL COMMENT '更新时间',
  `mv_actor` varchar(200) NOT NULL COMMENT '导演',
  `mv_score` varchar(50) DEFAULT NULL COMMENT '评分',
  `mv_class` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8_general_ci DEFAULT NULL COMMENT '剧情分类',
  `mv_mvUrl` varchar(200) NOT NULL COMMENT '网址链接',
  PRIMARY KEY (`mv_mvUrl`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

(4) pipelines.py的编辑

​ 定义数据库连接与操作信息
爬虫(实战):scrapy+mysql 豆瓣电影top250_第8张图片爬虫(实战):scrapy+mysql 豆瓣电影top250_第9张图片
(5) setting.py的编辑

​ 定义请求头、mysql配置等信息
爬虫(实战):scrapy+mysql 豆瓣电影top250_第10张图片在这里插入图片描述
(6) run.py运行程序的编辑
爬虫(实战):scrapy+mysql 豆瓣电影top250_第11张图片

3.3 项目结果展示

​ run.py文件运行后,打开mysql中的mvtable如下所示:

爬虫(实战):scrapy+mysql 豆瓣电影top250_第12张图片

4.项目总结

4.1 问题与解决

4.2 scrapy框架内在联系

爬虫(实战):scrapy+mysql 豆瓣电影top250_第13张图片

结构简介:
1.spiders-是主爬虫文件夹,其中mvSpi.py是网页信息获取的主代码文件
2.items.py-定义了将要存储在mysql中结构化数据字段
3.pipelines.py-管道文件,定义数据库连接与操作信息等
4.setting.py-设置文件,定义请求头、mysql配置等信息
5.run.py-运行文件,以便不进入命令行,也能运行项目
以上未介绍的文件,为项目创建初始内容,本项目没有进行相应修改。

​ 首先,spiders文件夹下mvSpi.py时主爬虫代码,这里继承了scrapy.spider类方法,引用了items的函数MvscrItem,产生了parse函数下的结果集item;

​ 然后,pipelines.py 管道文件,接收scrapy.spider类方法与结果集item,将数据进行相应的保存;

​ 最后,setting.py 配置文件,为以上操作进行权限的关联。

你可能感兴趣的:(框架学习,职场小白的工作日志,mysql,爬虫,scrapy)