爬虫(实战):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.编辑环境

爬虫(实战):scrapy+mysql 豆瓣电影top250
; 3.项目分享
3.1 项目目录结构

爬虫(实战):scrapy+mysql 豆瓣电影top250
结构简介:
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
​ 这里我们想要获取的电影信息有|电影名称|导演|评分|剧情分类|电影网址|
爬虫(实战):scrapy+mysql 豆瓣电影top250
​ 在解析网页内容时,可以使用shell交互式平台进行取数测试,具体步骤就是cd到项目目录下,运行如下代码:
>>>scrapy shell https://movie.douban.com/top250
In[1]:response.xpath('./div[@class="hd"]/a/span[1]/text()').extract()

爬虫(实战):scrapy+mysql 豆瓣电影top250
(3) items.py的编辑

​ 定义将要存储在mysql中结构化数据字段

爬虫(实战):scrapy+mysql 豆瓣电影top250
​ 当然,也要在你本地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
(5) setting.py的编辑

​ 定义请求头、mysql配置等信息

爬虫(实战):scrapy+mysql 豆瓣电影top250
(6) run.py运行程序的编辑
爬虫(实战):scrapy+mysql 豆瓣电影top250
3.3 项目结果展示

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

爬虫(实战):scrapy+mysql 豆瓣电影top250
; 4.项目总结
4.1 问题与解决

4.2 scrapy框架内在联系

爬虫(实战):scrapy+mysql 豆瓣电影top250
结构简介:
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 配置文件,为以上操作进行权限的关联。

Original: https://blog.csdn.net/Phillip_xian/article/details/125598956
Author: Phil_xian
Title: 爬虫(实战):scrapy+mysql 豆瓣电影top250

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/789931/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球