使用xpath获取标签下所有文本值(包括子标签的值)

您所在的位置:网站首页 怎样显示网页下面所有内容 使用xpath获取标签下所有文本值(包括子标签的值)

使用xpath获取标签下所有文本值(包括子标签的值)

2024-06-27 21:58| 来源: 网络整理| 查看: 265

最近在使用xpath提取信息时,由于所提取页面的数据标签比较凌乱,我只想要获取页面所显示的文本信息,因此通过查询相关资料,总结出如下方法:

1.获取文本值及所有html标签

html_content3 = requests.get(details_url).text html = etree.HTML(html_content3) # content=html.xpath('//div[@class="article-entry"]')[0].xpath('string(.)').strip()#得到其中的所有文本信息,但没有了标签属性。 # 先取出包含文章主体的标签 contents = html.xpath('//div[@class="article-entry"]')[0] # 取出来的是个element对象,需要给他转换成字符串 name1 = etree.tostring(contents, method='html') # 转成字符串后中文不能正常显示,需要再对其进行解析 name2 = HTMLParser().unescape(name1.decode()) content = name2

2.只获取文本值

welfare = response.xpath('//div[@class="t1"]').xpath('string(.)').extract()[0]

或者

welfare = response.xpath('//div[@class="t1"]').xpath('string(.)').extract()[0]

注意:如果使用element来获取,会遇到extract属性不存在的错误可以将其改为如下代码:

welfare = response.xpath('//div[@class="t1"]').xpath('string(.)').strip()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3