Python Xpath表达式以获取<;p>;

Python Xpath表达式以获取<;p>;,python,xpath,web-scraping,python-requests,lxml,Python,Xpath,Web Scraping,Python Requests,Lxml,我有这个html: <div class="et_pb_text_inner"> <h3 style="text-align: center;"><i class="fal fa-ruler-combined"></i><br /> 1672 Square Feet</h3> <p style="text-align: center;"> First Floor 1085 s.f.<br /&

我有这个html:

<div class="et_pb_text_inner">
 <h3 style="text-align: center;"><i class="fal fa-ruler-combined"></i><br /> 1672 Square Feet</h3>
  <p style="text-align: center;">
    First Floor 1085 s.f.<br />
    Second Floor 587 s.f.<br />
    Porches 393 s.f.<br />
    Covered Parking 642 s.f.<br />
    Storage 187 s.f.<br />
    Under Roof 2894 s.f.
  </p>
</div>
但它只给了我第一行之前的文本

First Floor 1085 s.f.
是否有办法只获取段落元素中的所有数据?有没有办法界定这一点

我想得到这样的字符串:

First Floor 1085 s.f.<br />Second Floor 587 s.f.<br />Porches 393 s.f.<br />Covered Parking 642 s.f.<br />Storage 187 s.f.<br />Under Roof 2894 s.f.
text()
返回一个文本节点,
标记包含6个这样的节点,因此您需要删除索引
[0]
。您还需要提供更准确的
xpath
,以删除不需要的结果

dimensions = tree.xpath("//h3[contains(., '1672 Square Feet')]/following-sibling::p/text()")
将给出一个包含6个字符串的列表

['First Floor 1085 s.f.', '\nSecond Floor 587 s.f.', '\nPorches 393 s.f.', '\nCovered Parking 642 s.f.', '\nStorage 187 s.f.', '\nUnder Roof 2894 s.f.']

你在用什么工具?beautifulsoup?也许
//div[@class='et\u pb\u text\u inner']/p/following::text()
会有帮助。我不确定在使用
lxml
模块时,您的xpath表达式是否完全符合您的要求。。。我必须从这个网站的一些类似()的页面上抓取数据。。。你认为BS4更好吗?好吧,我已经编辑了这篇文章。嘿@伙计,非常感谢你!它给了我继续编码的想法。。。谢谢=)
dimensions = tree.xpath("//h3[contains(., '1672 Square Feet')]/following-sibling::p/text()")
['First Floor 1085 s.f.', '\nSecond Floor 587 s.f.', '\nPorches 393 s.f.', '\nCovered Parking 642 s.f.', '\nStorage 187 s.f.', '\nUnder Roof 2894 s.f.']