python中用xpath匹配文本段落内容的技巧

content = item.xpath('//div[@class="content"]/span')[0].xpath('string(.)')

content = item.xpath('//div[@class="content"]/span//text()')

 

两种匹配规则,都能匹配到图中的文本段落内容:

 

 

 

 

第一种匹配到的结果是:

"content":

"\n\n\n小儿子5岁天生戏精在高铁站,一对夫妻带一男孩也5岁左右,小男孩坐地上耍赖,小夫妻与小男孩全程英语交流,坐他们对面的小儿子看的云里雾里,突然转过头跟我说,“妈妈,他们说的话我也会。”正在我惊讶之际,这小子一首“ABCDEFG……”好吧~\n\n"

 

第二种匹配到的结果是:

"content":

["\n\n\n小儿子5岁天生戏精", "在高铁站,一对夫妻带一男孩也5岁左右,小男孩坐地上耍赖,小夫妻与小男孩全程英语交流,坐他们对面的小儿子看的云里雾里,突然转过头跟我说,“妈妈,他们说的话我也会。”", "正在我惊讶之际,这小子一首“ABCDEFG……”", "好吧~\n\n"]

 

  • 第一种匹配规则得到的content,内容中的<br/>自动忽略,得到包含全部字符内容的整串,但是原本用换行符断句处没有逗号,产生的内容阅读起来可能不连贯。

 

  • 第二种匹配规则得到的content,也将忽略内容中的<br/>,同时会以<br/>为间隔,将文本内容用逗号切开,最终得到一个字符串列表。

 

在对文本内容要求比较精确的情况下,可以将第二种规则匹配后的结果,用 "\n".join() 来对字符串列表进行处理,不会出现不连贯情况。

 

posted @ 2018-02-08 20:35  尘埃丶落定  阅读(1314)  评论(0编辑  收藏  举报