基于Python框架Scrapy爬虫示例

本文介绍了如何使用Python的Scrapy框架构建一个爬虫,抓取豆瓣Top250电影的排名、名称、简介、评分等信息,并详细展示了新建项目、定义Item、编写Spider和Pipeline的步骤,最终将数据存储到txt、json和MySQL数据库中。
摘要由CSDN通过智能技术生成

引言

ScrapyPython开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。本篇主要介绍基于Scrapy框架对豆瓣电影TOP250https://movie.douban.com/top250 进行信息抓取:包括电影排名、电影名称、电影介绍、星级、评价数、描述等信息,并存储到txtjsonMySQL数据库
在这里插入图片描述

准备工作

  • 安装Python3.7 Scrapy1.5.1(安装过程这里不做介绍)
  • 安装pymysql (用于连接MySQL数据库)
  • 安装MySQL数据库(存储爬虫信息)
  • 在谷歌浏览器安装XPath Helper插件(解析前端页面并获取标签文本)
  • 开发工具PyCharm

主要步骤

  1. 新建项目(创建一个新的Scrapy工程)
  2. 明确目标(定义所需要要抽取的Item对象)
  3. 制作爬虫(编写spider来爬取某个网站并提取出所有的Item对象)
  4. 存储内容(编写Pipline来存储提取出来的Item对象)

示例操作

1、新建项目

我们以C盘根目录下创建项目douban为例,首先我们在CMD先进入到C盘,然后输入scrapy startproject douban即可,如下图所示:
在这里插入图片描述
我们用PyCharm打开创建的douban项目,其项目目录结构如下所示,scrapy.cfg为项目配置文件,定义了配置文件路径和部署信息等;item.py用来定义数据结构;setting.py为项目设置文件,定义全局设置;pipelines.py用于数据清洗和存储;
在这里插入图片描述
spiders文件夹下主要是我们编写XPath地方,这里我们需要进一步生成,在cmd打开spiders文件,输入scrapy genspider douban_spider movie.douban.com,运行即可,movie.douban.com为我们爬取网站的域名。
在这里插入图片描述
在生成的douban_spider中主要编写我们爬虫的逻辑、正则表达式、XPath等
在这里插入图片描述

2、定义Item

打开item.py文件,按照提供的示例来定义我们爬取的内容:

class DoubanItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    # 排名序号
    serial_name = scrapy.Field()
    # 电影名称
    movie_name = scrapy.Field()
    # 电影介绍
    introduce = scrapy.Field()
    # 星级
    star = scrapy.Field()
    # 评论
    evaluate = scrapy.Field()
    # 描述
    describe = scrapy.Field()
    pass
3、编写spider

打开spider文件夹下的doban_spider.py,修改入口URL为https://movie.douban.com/top250,在parse函数中输出返回的内容,然后运行程序测试一下。

class DoubanSpiderSpider(scrapy.Spider):
	#爬虫名称
    name = 'douban_spider'
    #允许的域名
    allowed_domains = ['movie.douban.com']
    #入口URL
    start_urls = ['https://movie.douban.com/top250']
	#默认解析方法
    def parse
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值