Scrapy学习笔记(一): 官方教程解析

本文介绍了使用Scrapy框架抓取名人名言网站的过程,包括项目的搭建、爬虫文件的编写及数据的抓取方法。

最近开始学习爬虫,接触到了scrapy这个框架,简直神器,也不用自己设置多进程啥的了,好用的飞起
看了挺多博客的介绍,感觉崔庆才的文章写得很清晰,特别是scrapy的原理,通俗易懂,想看的可以移步到此处 ->

>> 崔庆才的博客 <<
>> 官方文档在这里 <<

对着官方的教程文档,做一点自己的解析。官方文档使用的是一个名人名言的网站,很适合练手。
废话少说,开整

  1. 建立项目

    D:\netspider>scrapy startproject getquotes
    

    项目建立好了之后,目录如图所示

图片描述

其他的文件先不用管,在spider这个文件夹中,建立爬虫文件,myspider.py,包含代码如下

import scrapy

class myspider(scrapy.Spider):

# 设置爬虫名称
name = "get_quotes"

# 设置起始网址
start_urls = ['http://quotes.toscrape.com']

def parse(self, response):

    #使用 css 选择要素进行抓取,如果喜欢用BeautifulSoup之类的也可以
    #先定位一整块的quote,在这个网页块下进行作者、名言,标签的抓取
    for quote in response.css('.quote'):
        yield {
            'author' : quote.css('small.author::text').extract_first(),
            'tags' : quote.css('div.tags a.tag::text').extract(),
            'content' : quote.css('span.text::text').extract_first()
        }  

scrapy会默认先调用parse()函数进行url的request处理,因为parse()是scrapy的默认回调函数,需要覆写它来进行适配我们的抓取任务。

该网站的元素定位还是很清晰的:
图片描述

运行结果如下:
图片描述

成功将作者,名言内容,标签获取到。

个人比较喜欢使用xpath进行定位,两种方法都可以,有时候还需要结合使用。scrapy的基本使用方法就是这样,下一篇写一下循环获取与数据保存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值