为了账号安全,请及时绑定邮箱和手机立即绑定

python 中的 item如何传递一个列表?

python 中的 item如何传递一个列表?

胡说叔叔 2018-12-09 22:11:38
def get_info(self, response):     item = baidu_item()     item['id']=response.meta['id']     item['name']=response.meta['name']     redirect_url_list = response.xpath('''//h3/a/@href''').extract()    for url in redirect_url_list:         if "http" in url or "https" in url:             scrapy.Request(url=url, headers=self.headers, timeout=5,meta={'item':item})def parse(self, response):     item=response.meta['item']    if self.filter_domain(response.url) == 0:        if len(re.findall('/', response.url)) <= 3:            if self.filter_figure(response.url):                if re.findall('[^/]+(?!.*/)', response.url):                    if self.filter_figure(response.url):                         item['url']=[response.url]现在情况是这样,我在循环的时候写一个 url 规则,但是如果按照item['url']=[response.url] 这种写法每次只能传递一个url,我现在要把循环一遍的url 传递给item['url'] 怎么写呢?
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

用递归函数就好啊
类似这种

def fact(n):    if n==1:        return 1
    return n * fact(n - 1)

当然也可以使用while进行判断

while 内部还存在多层:
    继续解析


查看完整回答
反对 回复 2018-12-09
  • 1 回答
  • 0 关注
  • 770 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信