scrapy中spider的用法

本文介绍使用Scrapy框架爬取网站数据的过程。包括通过start_requests初始化请求、使用parse方法解析响应内容并提取数据,以及如何生成新的请求继续爬取。展示了如何利用选择器抓取特定元素。
摘要由CSDN通过智能技术生成

spider中定义了如何爬取某些网站。
中文文档主要内容
1.spider中起始的request是通过调用start_request()来采取的,start_request()读取start_url中的url,并以parse为回调函数生成reuqest
2在回调函数内即parse中分析返回的网页内容,返回Item或者Request或者一个包括二者的可迭代容器。返回的request对象之后会经过scrapy处理,下载下你想要下载下的响应的内容,并调用callback函数。


    def parse(self, response):
        # parse方法是默认的回调,当爬虫开始时会从start_url得到链接,
        # 然后自动调用parse方法进行解析
        quotes =response.css('.quote')
        # 选择出每一个区域块
        for quote in quotes:  # 循环每一个区域块
            item = QuoteItem()
            text = quote.css('.text::text').extract_first()
            author = quote.css('.author::text').extract_first()
            tags = quote.css('.tags .tag::text').extract()
            item['text'] = text
            item['author'] = author
            item['tags'] = tags
            yield item


        # .text::text意思是获取class=text的文本内容
        next = response.css('.pager .next a::attr(href)').extract_first()
        # 得到的只是url的一部分
        url = response.urljoin(next)
        # 使用join构建完整的url
        yield scrapy.Request(url=url,callback=self.parse)
        # 生成request

3.在回调函数内,可以使用选择器来分析网页内容
4由spider返回的item存到数据库中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值