0
我正在讀html頁面作爲一個字符串,並使用tree = html.fromstring(data)
與蟒蛇LXML使用XPath查詢HTML
我現在想用LXML的XPath查詢。下面是我很感興趣的部分的一個例子。
<table class="class">
<tbody>
<tr>
<th class="classTh">
Overall
</th>
<td class="classTd">
<span class="classSpan">
GREEN
</span>
</td>
</tr>
</tbody>
</table>
與呼叫
xpath = '//table/tbody/tr[th="Overall"]/td/span'
e = tree.xpath(xpath)
for i in e:
print(i.text)
我使用XPath得到我所需要的數據。但我無法使xpath正常工作。在任何在線測試程序中使用這個精確的代碼+ xpath對我來說都適用。
我曾嘗試使用XPath:
xpath = '//table/tbody/tr[th]/td/span'
這讓我所有的元素,而不是用正確的過濾器值的人。
xpath ='//table/tbody/tr[td/span]/th'
得到我所有的過濾器值。
所以我的問題。如何正確地在我的xpath中應用文本值過濾器?
當您使用在線XPath測試工具進行嘗試時,您可以使用已執行的JavaScript處理網頁,而您的表可能會動態生成,HTTP請求,urllib等HTTP庫只能爲您提供頁面源而不執行JavaScript – Andersson
因爲2個最新的xpath查詢用於確認我查詢的數據是正確的,所以我不認爲這會對數據本身造成任何問題。相反,我的印象是它的查詢問題。或者我錯過了這一點? :) – Martin