问答详情
源自:2-7 spider文件的编写(2)

简介”introduce”在不用循环语句时信息全,但写了循环语句,只有第二行信息

content=i_item.xpath(".//div[@class='bd']/p[@class='']/text()").extract()
#数据处理(多行数据)实现格式化,但未实现将所有信息整理
for i_content in content:
    content_s="".join(i_content.split())
    douban_item['introduce']=content_s
和
douban_item['introduce']==i_item.xpath(".//div[@class='bd']/p[@class='']/text()").extract_first()

循环语句使用后,只显示:
1994 / 美国 / 犯罪 剧情

而我们用XPATH时,可以看到路径信息应该是:

导演: 弗兰克·德拉邦特 Frank Darabont   主演: 蒂姆·罗宾斯 Tim Robbins /...
1994 / 美国 / 犯罪 剧情

请问各位有啥办法爬取这个路径下的所有信息

提问者:普六 2018-08-19 14:16

个回答

  • Accidie漠然
    2018-08-21 16:21:33
    已采纳

    只显示“1994 / 美国 / 犯罪 剧情”是因为在for循环里,douban_item['introduce']的值被覆盖了,如果想全部爬取的话,可以声明douban_item['introduce']为一个数组,把i_content循环append到数组里就可以了

  • 泡沫_0009
    2019-01-03 18:03:42

    contents = ''
    for i_content in content:
        contents += "".join(i_content.split())
    douban_item['introduce'] = contents
    追加字符创即可,循环外赋值

  • StydyMoveOn
    2018-09-19 16:15:19

    直接在循环外定义一个空字符串,然后在循环内字符串自相加就可以了

    content_s=''
    for i_content in content:
        content_s1=("".join(i_content.split()))
        content_s=content_s+content_s1
    douban_item['introduce'] = content_s


  • 慕数据0594206
    2018-09-17 19:09:02

    good,已尝试