0

したがって、私の問題は、データを抽出しているときに、ページにいくつかのエントリがあり、それらに関連付けられたリンクがないため、それらが選択されないことです。

ここでよりよく説明するためhxs.selectに、ほぼすべてのデータを取得するステートメントを次に示します。

 opening = hxs.select('//div[@id="body"]/div/table/tr/td/table/tr[2]/td/table[2]/tr/td[7]/font/a/text()').extract()

このステートメントは、3 つのオープニング映画の日付を除くすべてを取得します。前述したように、欠落している 3 つの日付には関連するリンクがなく、実際には次の場所にあります。

 hxs.select('//div[@id="body"]/div/table/tr/td/table/tr[2]/td/table[2]/tr/td[7]/font/text()').extract()

※注意:/a最後に見つかりません。

これらを取得するためにステートメントを追加するだけですが、すべての情報が必要です。映画のタイトルと総額を取得するステートメントもあります。次に、これらのステートメントを繰り返し処理して、それらが属する場所とペアにします。別のステートメントを追加してそれらを個別に処理する場合、これを行うことはできません。助言がありますか?

::::Data::::: BoxOfficeMojo を取得しようとしているデータの URL は次のとおりです

簡単なメモ: Firebug を使用して xpath を表示すると、tbody実際には存在しないものが追加されます (追加されます)。

通常の営業日はこんな感じです。

<td bgcolor="#ffffff" align="right">
   <font size="2">
      <a href="/schedule/?view=bydate&release=theatrical&date=2010-06-11&p=.htm">6/11/2010</a>
   </font>
</td>

「問題のある」オープニングの日付の 1 つが次のようになります。

<td bgcolor="#f4f4ff" align="right">
  <font size="2">11/20/1981</font>
</td>
4

1 に答える 1

1

<font/>子孫または自己軸のステップを使用して、その要素内のすべてのテキスト ノードを選択するだけ//です。

//div[@id="body"]/div/table/tr/td/table/tr[2]/td/table[2]/tr/td[7]/font//text()
于 2013-08-04T23:03:25.480 に答える