2013-08-06 37 views
1

我想從表中獲取數據,我遇到了一個問題,我必須從特定的表數據單元中獲取數據。Xpath只對父變量,而不是整個頁面

#! /usr/bin/python 

import urllib 
from lxml import html 

url="http://kforce.com/Jobs/Search.aspx?Location=&Specialty=Technology-Jobs&Keyword=" 

pageHtml = html.fromstring(urllib.urlopen(url).read()) 

#id="Body_SearchResultsControl_grdJobs" 

#row class jobResultsAlternateRow || jobResultsRowStyle 

jobs = pageHtml.xpath("//table[@id='Body_SearchResultsControl_grdJobs']/tr[@class='jobResultsAlternateRow' or @class='jobResultsRowStyle']"); 

for i in jobs: 
     cols = i.getchildren() #get all table data cells 
     print(cols[0].xpath('//a/@href')) 
     exit(0) 

xpath正在應用於頁面上的所有鏈接,而不僅僅是我分配給它的列。我對XPath不是很熟悉,但我不確定它是XPath查詢還是我使用xpath查詢。

回答

1

您應該使用.//,如果你想開始元素而不是根目錄內搜索:

print(cols[0].xpath('.//a/@href')) 

打印['Job.aspx?job=1696~EQG~1259184T1~99&keyword='] - 我認爲這是你想要的。

希望有所幫助。哈哈!

+0

哈!我會將其添加到我的清單中。 TY!我會選擇這個作爲答案在9分鐘(Stackoverflow !!!!) – macha

+0

太好了,謝謝! – alecxe

相關問題