scrapy框架开发爬虫实战——爬取图书信息案例

创建爬虫项目,名称:example。在命令行输入以下命令:

scrapy startproject example

创建一个爬虫,名称:books。在命令行输入以下命令:

scrapy crawl genspider book_spider books "books.toscrape.com/"

创建好的爬虫,目录结构如下:

编写爬虫文件 book_spider.py

# _*_ coding:utf-8 _*_
import scrapy

#注意是scrapy.Spider不是scrapy.spider
#用  scrapy crawl <SPIDER_NAME> -o books.csv  命令运行该爬虫


class BookSpider(scrapy.Spider):

    # 每个爬虫的唯一标志
    name = "books"

    # 定义爬虫爬取的起始点,起始点可以是多个,这里只有一个
    start_urls = ['http://books.toscrape.com/']

    def parse(self, response):
        # 提取数据
        # 每一本书的信息在 <article class="product_pod">中
        # css()方法找到所有这样的article元素,并以此迭代
        for book in response.css('article.product_pod'):
            # 书名信息在 article>h3>a元素的title属性里
            # 例如: <a title='A Light'>A Light</a>
            name = book.xpath('./h3/a/@title').extract_first()
            # 书价信息在 <p class="price_color">的TEXT中
            # 例如:<p class="price_color">51.77</p>
            price = book.css('p.price_color::text').extract_first()
            yield {
                'name': name,
                'price': price
            }

    # 提取链接
    # 下一页的url在ul.pager>li.next>a里面
    # 例如:<a href="catalogue/page-2.html">next</a>
        next_url = response.css('ul.pager li.next a::attr(href)').
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值