当P下面有无文本的text 标签时,获取到的选择器里也包含这个文件,因此,此时用contact_first()时得到的是第一个
1.下面这个是p标签下无其它标签,用extract_first()可以获取到
2.下面这个是第一个是无文本的a标签,用extract_first()获取到的文本是none
二. xpath中的/符号表示当前标签下取文档里根下的那些节点
参看:https://bbs.csdn.net/topics/397266656
1.xpath中的/符号表示当前标签下取文档里根下的那些节点,//表示当前标签下取文档里的任何位置的节点。你这里的xpath://div[@class=“left”]/div[@class=“sons”]//div[@class=‘contson’]/text() 表示提取//div[@class=‘contson’]根节点下的text内容,但是你的诗歌在p标签下,就取不到了。你改成//div[@class=“left”]/div[@class=“sons”]//div[@class=‘contson’]//text(),就可以提取//div[@class=‘contson’]节点下所有的text内容了