python scrapy中怎么把函数中的某一值传递给另一个函数?

python scrapy中怎么把函数中的某一值传递给另一个函数?

问题描述

python scrapy中怎么把函数中的某一值传递给另一个函数?

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

class MeiziSpider(scrapy.Spider):

name = 'meizi'

allowed_domains = ['www.meizitu.com/']

'''start_urls = ['https://www.mzitu.com/xinggan']'''

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36',

}

def start_requests(self):

url = 'https://www.mzitu.com/xinggan'

yield Request(url, headers=self.headers)

def parse(self, response):

item = MeizituItem()

title = response.xpath('.//ul[@id="pins"]//li')

for titles in title:

item = {}

item['imgs_url'] = titles.xpath('./a/@href').extract()[0]#把这个值(是url)传递给下面的函数然后在末尾加数字就是每一张图片的地址 例如 url + max_page = www.tupian.com/page_60

#print(item['imgs_url'])

yield Request(item['imgs_url']+ str(titles),callback=self.imgs, meta={'item':item},dont_filter=True)

def imgs(self,response):

item = MeizituItem()

#item = response.meta['item']

item['name'] = response.xpath('.//h2[@class="main-title"]/text()').extract()[0]

#print(item['name'])

max_page = response.xpath('.//div[@class="pagenavi"]//a[last()-1]/span/text()').extract()[0]#把上边的那个itme['urls_url']的值传递到这个函数当中 然后调用

urls = titles + '/' + str(max_page)

print(urls)

你期待的结果是什么?实际看到的错误信息又是什么?

该怎么来解决啊


回答:

可以通过meta参数传递。https://www.zhihu.com/questio...

以上是 python scrapy中怎么把函数中的某一值传递给另一个函数? 的全部内容, 来源链接: utcz.com/p/937634.html

回到顶部