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