python xpath返回空列表

时间:2018-01-26 18:17:57

标签: python-3.x xpath

以下代码返回一个空列表

import requests
from bs4 import BeautifulSoup
from lxml import html

YrlyURL=str("http://www.moneycontrol.com/financials/20microns/balance-sheetVI/2M#2M")
page3 = requests.get(YrlyURL, timeout=5)
soup3 = BeautifulSoup(page3.content, "lxml")
tree2 = html.fromstring(page3.content)
yr1 = tree2.xpath('//*[@id="mc_mainWrapper"]/div[3]/div[2]/div[3]/div[2]/div[2]/div[2]/div[1]/table[2]/tbody/tr[1]/td[2]')
print(yr1)

我需要yr1返回'3月17日',但我无法找到解决方案。请帮助我理解我做错了什么以及我需要在哪里进行更正。

问候。

1 个答案:

答案 0 :(得分:0)

此xpath将返回整列

'//table[@class="table4"]/tr/td[count(//table[@class="table4" and ./tr/td[.="Mar 17"]]/preceding-sibling::tr)+2]'

<td class="detb" align="right">Mar 17</td> <td class="det" align="right">12 mths</td> <td class="detb" align="right"></td> <td class="detb" align="right"></td> <td class="det" align="right">17.64</td> <td class="hed" align="right">17.64</td> <td class="det" align="right">79.08</td> <td class="hed" align="right">79.08</td> <!-- more tds -->

基于this question