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