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

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

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

正在回答

4 回答

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

0 回复 有任何疑惑可以回复我~
#1

普六 提问者

非常感谢!!
2018-08-27 回复 有任何疑惑可以回复我~
#2

普六 提问者

不过我去尝试了后发现,如果只是用数组还是无法显示导演等信息,尝试把XPATH路径中的/text()去掉后就可以了,但是目前还没找到去除数据中如<pclass=""><br>等符号。
2018-08-27 回复 有任何疑惑可以回复我~
#3

慕数据0594206 回复 普六 提问者

list.append后再''.join(list)
2018-09-17 回复 有任何疑惑可以回复我~
contents = ''
for i_content in content:
    contents += "".join(i_content.split())
douban_item['introduce'] = contents
追加字符创即可,循环外赋值
0 回复 有任何疑惑可以回复我~

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

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


0 回复 有任何疑惑可以回复我~

good,已尝试

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信