Python 如何使用xpath定位项的特定值?
我已经在Python 如何使用xpath定位项的特定值?,python,python-3.x,xpath,web-scraping,lxml,Python,Python 3.x,Xpath,Web Scraping,Lxml,我已经在python中编写了一个脚本,它与lxml库结合使用xpath从网页解析某个单元的值。在该站点中可见的那家工厂的名称是Eden Tolly Cascades,其值为15.92至36.28 Lac。如何在xpath中解析提到公寓名称的值 我已经试过了,就像下面这样,它是没有任何问题的工作。然而,难道没有更干净的方法来实现同样的目标吗 import requests from lxml.html import fromstring url = "https://www.99acres.co
python
中编写了一个脚本,它与lxml
库结合使用xpath
从网页解析某个单元的值。在该站点中可见的那家工厂的名称是Eden Tolly Cascades
,其值为15.92至36.28 Lac
。如何在xpath中解析提到公寓名称的值
我已经试过了,就像下面这样,它是没有任何问题的工作。然而,难道没有更干净的方法来实现同样的目标吗
import requests
from lxml.html import fromstring
url = "https://www.99acres.com/ppc-2515-residential-apartment-mailer"
res = requests.get(url)
tree = fromstring(res.text)
item = tree.xpath("//h1[contains(.,'Eden Tolly')]/../../../following::div//span/strong/text()")[0]
print(item)
这是一个这样的容器:
<div class="pro-text">
<div class="product-text-box">
<div class="product-heading">
<span><img src="https://newprojects.99acres.com/projects/eden_group/eden_tolly_cascades/ln9rkpsb.jpg">
<h1 class="font-size15">Eden Tolly Cascades<p>Kabardanga</p></h1>
</span>
</div>
</div>
<div class="product-text-box">
<ul class="product-lrg-box">
<li> <span><strong><span class="rupee-font">₹ </span>15.92 to 36.28 Lac</strong></span></li>
<li><strong>549-1251 SQFT</strong></li>
<li><strong>1-3 BHK</strong></li>
<li style="width:20% !important;"><strong>New Launch</strong></li>
</ul>
<div id="tabs" class="tab-link tabs-menu tabs-menu-new">
<ul>
<li><a href="#304355broch">e-Brochure</a></li>
<li><a href="#304355amn">Amenities</a></li>
<!-- <li style="width:20% !important;"><a href="#304355floor">Floor Plan</a></li>-->
<li style="width:20% !important;"><a href="#304355dir">Directions</a></li>
</ul>
</div>
<span class="enquire-new-bt" id="304355-583061,151100-enquire-new-bt" data-val="3"> <a href="javascript:void(0)">I am Interested</a> </span> </div>
</div>
伊甸园托利瀑布Kabardanga
- ₹ 拉丁美洲和加勒比海15.92至36.28
- 549-1251平方英尺
- 1-3 BHK
- 新产品发布
宽度:20%!重要;“>
试试下面的XPath
//div[contains(.//h1, 'Eden Tolly')]/following-sibling::div//span/strong/text()
你们能分享HTML代码样本吗?因为看起来目标URL是不可访问的(至少对我来说)?当然,先生。我没注意到你的回答。我非常期待你的光临。将使用相关html进行更新。@安德松先生,几个月前,您为我提供了一个独特的很棒的
xpath
,用于解析https://finance.yahoo.com/
表达式是“//a[u[@class='StretchedBox']]/text()”
。然而,我试图按照这个模式在这里建立相同的模型,但没有成功。嗯。。。你可以试试这个//div[contains(.//h1,'Eden Tolly')]/following sibling::div//span/strong/text()
,但我不确定它是否真的“更清晰”。。。让我知道您想简化XPath表达式的哪一部分,请将其作为答案@sir Andersson发布。这正是我想要的表达方式。有一件事需要知道,先生:在这种情况下,它们在兄弟姐妹之后和兄弟姐妹之后工作相同。你能给我一个线索吗?跟随
匹配不同DOM级别上的元素(具有不同/相同父节点的节点),而跟随同级
仅匹配相同级别上的元素(具有相同直接父节点的节点)。简单地说,跟随兄弟姐妹
只是跟随