爬取多个url

# -*- coding: utf-8 -*-
import scrapy
from qiubai.items import QiubaiItem


class QiushibaiSpider(scrapy.Spider):
    name = 'qiushibai'
    # allowed_domains = ['www.qiushibaike.com/text/']
    start_urls = ['http://www.qiushibaike.com/text/']
    url = "https://www.qiushibaike.com/text/page/%d/"
    page = 1
    def parse(self, response):
        #    建议大家使用xpath进行指定内容的解析(框架集成了xpath解析的接口)
        #    段子的内容和作者
        div_list = response.xpath('//div[@id="content-left"]/div')

        # data_list = []
        for div in div_list:

            # xpath解析到的指定内容被存储到了Selector对象
            # extract()该方法可以将Selector对象中存储的数据值拿到
            # author = div.xpath("./div/a[2]/h2/text()").extract()[0]
            # extract_first() == extract()[0]
            author = div.xpath("./div/a[2]/h2/text()").extract_first()
            content = div.xpath('.//div[@class="content"]/span/text()').extract_first()


            # 将解析到数值的数据存储到item对象
            item = QiubaiItem()
            item["author"] = author
            item["content"] = content
            # 将item对象提交给管道
            yield item
        if self.page <= 13:
            print("正在爬取第%d页" % self.page)
            self.page += 1
            new_url = format(self.url % self.page)
            yield scrapy.Request(url=new_url, callback=self.parse)

        #     data_list.append(data)
        # return data_list

用yield    callback 

转载于:https://www.cnblogs.com/cjj-zyj/p/10120006.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值