python – Xpath normalize-space

weixin_38089340 2019-09-12 01:57:33
我感到愚蠢. Python& xpath新手在这里.我正在尝试使用xpath从中提取完整文本’Open Box Price:$1079.99′ <div class="prod-price"> <p class="opbox-price"> <strong> Open Box Price:<br>$1079.99</strong> </p> <p class="orig-price"> Regular Price: <strong>$1499.98</strong> </p> </div> 但我不能.文字在< br>处停止.这是我的代码 doc = lxml.html.fromstring(r.content) elements = doc.xpath(item_xpath) print elements[1].find('div[3]/p[1]/text()[normalize-space()]')
...全文
97 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38120583 2019-09-12
  • 打赏
  • 举报
回复
你想要的XPath的基础是使用descendant-or-self – 根据你的需要调整结果: >>> doc.xpath('//p[1]/descendant-or-self::text()') ['\n ', ' Open Box Price:', '$1079.99', '\n '] >>> doc.xpath('//p[2]/descendant-or-self::text()') ['\n Regular Price: ', '$1499.98', '\n '] 或者当您使用lxml.html时,您可以使用text_content() paras = doc.xpath('//p'): # or findall etc... for para in paras: print para.text_content()

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧