微信公众号:数据分析与统计学习
如有问题或建议,请公众号留言
最近更新时间:2018-11-16
一、前言
小编上次讲的都是自己编写网络爬虫爬取数据,这次讲解用最流行的scrapy框架来爬取豆瓣电影top250的相关数据。
二、Scrapy框架爬虫的相关说明
我是在Win10系统下用Pycharm集成开发环境实现Scrapy框架网络爬取豆瓣电影top250的数据,解释器是用Anaconda。
scrapy框架爬取数据共分为四个步骤:建立scrapy项目、获取目标数据、爬虫的编写、保存数据。
四、scrapy框架网络爬虫流程
1、建立scrapy项目
打开Anaconda的命令行终端Anaconda Prompt,如图1所示,输入 scrapy startproject doubanmovie。
图1
按照如图2所示输入,创建爬虫模板
图2
在pycharm中显示的scrapy项目如图3所示
图3
2、获取想要的数据
我们想要的电影字段数据如下:序号、名字、介绍、评分和描述。
在items.py中按照给定的模板设置我们想要的数据字段
3、编写爬虫脚本
在我们创建的爬虫模板中douban_spider中利用Xpath方法从网页中提取想要的数据。代码实现如下:
4、保存数据到MongoDB数据库
在pipelines.py中设置如下代码
5、开启和添加相关设置
为了能够实现上面的功能,我们需要在settings.py中添加相关设置。
1、找到USER_AGENT,去掉#好,把值设置成如下(看你自己的浏览器)
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
2、找到ROBOTSTXT_OBEY,把它设置成 ROBOTSTXT_OBEY= False
3、找到DOWNLOAD_DELAY,去掉#号,把它设置成DOWNLOAD_DELAY = 0.5
4、找到ITEM_PIPELINES,去掉#号 ,开启ITEM_PIPELINES,数据才能保存到数据库
5、在最末行添加如下设置,用来连接MongoDB数据库,
mongo_host = 'localhost'
mongo_port = 27017
mongo_db_name = 'admin'
mongo_db_collection = 'douban_movie'
下面的是我的公众号二维码图片,欢迎关注。
数据分析与统计学习
领取专属 10元无门槛券
私享最新 技术干货