2017-11-11 8 views
0

스크랩을 사용하여 웹 사이트를 스크랩하려고합니다. 이 일련 ID가 증가한다 긁어내는 각 제품에 대해, "3001" 을 : 나는 데이터를 스크랩 할 수 있어요스크랩 된 각 제품에 대해 1 씩 증가하는 일련 번호와 같은 비단뱀 스크랩 출력에 필드를 추가하려고합니다.

하지만

은 내가 "직렬 ID"같은 OUPUT 에 추가 필드를 추가 할 1 일까지, 3002, 3003, 3004과 같은 ............. 내가

내용 [ 'URL']와 같은 오류를 얻고있다 위의 코드에 대한

def parse_dir_contents(self,response): 
    cat = response.meta['cat'] 
    serial_id = I 
    item = [] 
    content = {} 

    content['serial_id'] = serial_id 
    content['url'] = response.url 
    content['category'] = cat 
    brand = response.xpath('//div[@class="pageinfo__brdcrmb"]/text()').extract()[0].split('/') 
    content['brand'] = brand[1].strip() 
    I = I + 1 
    item.append(content) 
    output = json.dumps(item, sort_keys=True, indent=4, separators=(',', ': ')) 
    self.json_file.write(output) 

= response.url NameEr ror : 이름 '응답'이 정의되지 않았습니다.

+0

당신은 문제의 들여 쓰기를 해결할 수 있을까? 'parse_dir_contents' 함수가 어디에서 끝나는 지 모르겠습니다. – PRMoureu

답변

0

세 번째 줄에 I의 이름이 정의되어 있지 않습니다.

serial_id = 1 

로 변경 한 다음에 있음을 증가 :

serial_id += 1 

당신은 scrapy 혜택을 사용할 수 있습니다 (파이프 라인처럼 ... 항목을 정의하고)와 깔끔한 코드를 유지한다.

이 정보가 도움이 문서를 읽을 :

https://doc.scrapy.org/en/latest/