1

テーブルからデータを取得しようとしていますが、特定のテーブル データ セルからデータを取得する必要があるという問題が発生しています。

#! /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 クエリを使用しているのかはわかりません。

4

1 に答える 1

1

.//ルートではなく要素内の検索を開始する場合は、次を使用する必要があります。

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

Prints ['Job.aspx?job=1696~EQG~1259184T1~99&keyword=']- これはあなたが望んでいたものだと思います。

それが役立つことを願っています。

于 2013-08-06T00:56:05.200 に答える