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

来源:2-7 spider文件的编写(2)

普六

2018-08-19 14:16

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 / 美国 / 犯罪 剧情

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

写回答 关注

4回答

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

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

    慕数据059... 回复普六

    list.append后再''.join(list)

    2018-09-17 19:09:59

    共 3 条回复 >

  • 泡沫_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,已尝试

Python最火爬虫框架Scrapy入门与实践

做为爬虫工程师Python Scrapy主流爬虫框架你必须要会!

67418 学习 · 223 问题

查看课程

相似问题