scrapy框架学习(一)Scrapy初体验

开头先附上scrapy框架学习的视频传送门:2018年最新Python3.6网络爬虫实战

再附上:Scrapy中文手册 与 Scrapy英文文档

 

1.在项目文件夹下创建一个新的scrapy项目,名为‘samzhu’

scrapy startproject samzhu

2.在项目文件夹下会出现如下文件

    

    scrapy.cfg: 项目的配置文件

    samzhu/: 该项目的python模块。之后您将在此加入代码。

    samzhu/items.py: 项目中的item文件.

    samzhu/pipelines.py: 项目中的pipelines文件.

    samzhu/settings.py: 项目的设置文件.

    samzhu/spiders/: 放置spider代码的目录.

3.Spider是用户编写用于从单个网站(或者一些网站)爬取数据的类

    为了创建一个Spider,必须继承 scrapy.Spider 类,且定义以下三个属性:name、start_urls、parse()

    下面例子爬取了猫眼电影热映口碑榜,提取第一页中所有影片的相对地址

    所有的spider类放下文件夹spiders下,并需要不同的name来作为标识

    此处我们新建了一个文件one_spider.py并修改

# -*- coding: utf-8 -*-

import scrapy

class SamSpider(scrapy.Spider):
    #用于区别Spider。 该名字必须是唯一的,您不可以为不同的Spider设定相同的名字。
    name = "sam"    
    #包含了Spider在启动时进行爬取的url列表
    start_urls = [
        "https://maoyan.com/board"
    ]                
    #被调用时,每个初始URL完成下载后生成的 Response 对象将会作为唯一的参数传递给该函数。 该方法负责解析返回的数据(response data),提取数据(生成item)以及生成需要进一步处理的URL的 Request 对象。
    def parse(self, response):    
        print(response.text)
        print('>'*50,'sam')
        a=response.css('.movie-item-info .name a::attr(href)').extract()
        print(a)
        print('>'*50,'end')

    在项目文件夹下终端运行

scrapy crawl sam

   


小结:

可以看到,利用Scrapy框架进行爬虫整体来说是便捷的,同时也能获取一些额外的信息参数,但是对于初学者来说,可能会对其他的一些文件或者配置还有疑惑,就例如实现上诉功能用request也能简单实现,但Scrapy的强大在于后续功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值