首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python中Scrapy框架爬取豆瓣电影top250

微信公众号:数据分析与统计学习

如有问题或建议,请公众号留言

最近更新时间: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'

下面的是我的公众号二维码图片,欢迎关注。

数据分析与统计学习

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181119G003XE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券