首先先来看网页结构:
网页显示文本:
Python的xpath解析出来的结果:
出现问题的xpath写法:
xpath = etree.xpath("//*[@id='review-list']//ul//div[4]/text()")
print(xpath)
可以看到在网页结构中,文本中间插入了img标签元素,在加上写xpath时在xpath后面添加了
/text()
就会导致这个问题的出现。
暂时的解决方法:
xpath = etree.xpath("//*[@id='review-list']//ul//div[4]")
print(xpath.text)
把要获取的文本内容移动到xpath之后就可以了,就是还有个问题,这样子就只会匹配到第一个文本。
后面的文本匹配不到,这个问题后面再看看怎么解决。