scrapy yield Request回调函数带参数

# 本函数是针对英文网页第1246789栏目第1级目录进行相应解析
    def get_eurls(self, response):
        #定义一个列表,分别统计九种英语新闻的对应的页面数
        eurl_list = response.selector.xpath('//ul[@class="txtlist clearfix"]/li/div/a/@href').extract()
        domain_name = 'http://news.tsinghua.edu.cn'
        for path in eurl_list:
            yield scrapy.Request(
                url=domain_name+path,
                callback=lambda response, url=domain_name+path:self.e_parse(response, url)
            )

    # 本函数是针对英文网页第1246789栏目网页进行相应解析
    def e_parse(self, response, url):

在以上的实例中e_parse函数的调用即可得出传参规律,不需要自定义参数的代码如下

def start_requests(self):
        url_list = [9670, 9671, 9673, 9675, 9676, 9677, 9678]
        page_num_list = [68, 249, 109, 24, 36, 18, 136]
        for index, i in enumerate(url_list):
            for j in range(2, page_num_list[index] + 1):
                yield scrapy.Request(
                    url='http://news.tsinghua.edu.cn/publish/thunewsen/{}/index_{}.html'.format(i, j),
                    callback=self.get_eurls
                )

    # 本函数是针对英文网页第1246789栏目第1级目录进行相应解析
    def get_eurls(self, response):

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值