Scrapy框架中CrawSpider的使用

本文介绍了如何使用Scrapy框架创建一个爬虫,抓取Dushu.com网站上的书籍详情。首先通过`scrapystartproject`创建项目,接着利用`scrapygenspider`生成名为`book`的爬虫,针对`dushu.com`域名。在爬虫文件中,定义`BookSpider`类,设置起始URL和规则,用LinkExtractor匹配特定书籍链接,并回调`parse_item`方法解析书籍信息,包括书名和图片源。该爬虫遵循正则表达式,持续跟踪符合条件的链接,提取并输出书籍关键信息。

1.创建项目

scrapy startproject 项目名

2.创建爬虫(爬虫基于CrawSpider类)

scrapy genspider -t craw 爬虫名 域名

3.爬虫文件中

# CrawSpider的使用
class BookSpider(CrawlSpider):
    name = 'book'
    allowed_domains = ['dushu.com']
    # ----------注意--------
    # 开始链接必须符合 正则提取的链接
    start_urls = ['https://www.dushu.com/book/1158_1.html']

    rules = (
        Rule(LinkExtractor(
            # 正则条件,寻找符合条件的链接
            allow=r'/book/1158_\d+\.html'),
            callback='parse_item',
            # 默认为True,表示持续寻找符合正则的链接。
            follow=True),
    )

    def parse_item(self, response):
        li_list = response.xpath('//div[@class="bookslist"]/ul/li')
        for li in li_list:
            item = DushuwangItem()
            item['name'] = li.xpath('./div/h3/a/text()').extract_first()
            item['src'] = li.xpath('./div/div[1]/a/img/@data-original').extract_first()
            yield item

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值