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 回答
![?](http://img1.sycdn.imooc.com/533e4c0500010c7602000200-100-100.jpg)
凤凰求蛊
TA贡献1825条经验 获得超4个赞
用递归函数就好啊
类似这种
def fact(n): if n==1: return 1 return n * fact(n - 1)
当然也可以使用while进行判断
while 内部还存在多层: 继续解析
添加回答
举报
0/150
提交
取消