下面这段文字,用xpath找到后,需要把意大利和西班牙两部分所包含内容分开保存,用正则表达式应该怎么写?
<div class="des">
<p>
意大利:<br />
1、全称意大利共和国<br />
2、由南欧的亚平宁半岛及两个位于地中海中的岛屿西西里岛与萨丁岛所组成<br />
3、国土面积为301333平方公里<br />
<br />
西班牙:<br />
1、1492年10月12日独立<br />
2、是一个位于欧洲西南部的国家<br />
3、西邻同处于伊比利亚半岛的葡萄牙,北濒比斯开湾,东北部与法国及安道尔接壤,南隔直布罗陀海峡与非洲的摩洛哥相望<br />
</p>
</div>
我是这样写的,但是总是匹配不出来:
desc =sel.xpath('//div[@class="des"]').extract()[0]
item['italy'] = re.search('意大利:(.*?)西班牙',desc,re.S).group(1)
item['spain'] = re.search('西班牙:(.*?)</p>',desc,re.S).group(1)
提示信息是:
备注:网页是gbk编码
AttributeError: 'NoneType' object has no attribute 'group'
你缺了跨行匹配
如果你的desc是str
如果你的desc是unicode