1

HTMLのこれらのセクションを見つけようとしていますが、リンクの終わりで区別されるように、特定の月(04)のセクションのみを検索しています。

<td class="">
    <div class="dayContainer">
        <a href="/parks/magic-kingdom/calendardayview/?asmbly_day=20120402"> 
            <p class="day"> 2</p> 
            <p class="moreLink">
                Park Hours
                <br />
                8:00 AM - 1:00 AM
                <br /><br/>
                Extra Magic Hours
                <br />
                7:00 AM - 8:00 AM
                <br /><br/>
            </p> 
        </a> 
    </div>
</td>

を使用してすべての日付を見つけることができますがfindAll('div', attrs={'class':'dayContainer'})、サイト内のすべての日付がわかります。この例に従ってみましたが、試したすべての結果が空白になりました。これが私が今セクションを見つけるために持っているものです:

days = soup.findAll(lambda date: date.name == 'a' and date.text[-4:-2] == '04' and date.findParent('div', attrs={'class':'dayContainer'}))
print days

私がどこで間違っているのかについて何か考えはありますか?ありがとう!誰かがそれを必要とするならば、ここにサイトがあります。

4

1 に答える 1

7

あなたが投稿したサイトリンクを調べたところ、毎月のカレンダーが実際には「month_name2012」という名前のdivに含まれていることがわかりました。

したがって、4月の場合は、次のことができます。

april_c = soup.find('div', attrs={'id':'april2012'})
parking_apr = april_c.findAll('div', 'dayContainer')
for item in parking_apr:
    print item.text

これはあなたに与えるでしょう:

1パークアワー8:00AM-12:00AMエクストラマジックアワー7:00AM-8:00AMエクストラマジックアワー12:00AM-3:00 AM

2パークアワー8:00AM-1:00AMエクストラマジックアワー7:00AM-8:00 AM

3パークアワー8:00AM-1:00AMエクストラマジックアワー7:00AM-8:00 AM

4パークアワー8:00AM-1:00AMエクストラマジックアワー7:00AM-8:00 AM

5パークアワー8:00AM-1:00AMエクストラマジックアワー7:00AM-8:00 AM

6パークアワー8:00AM-12:00AMエクストラマジックアワー7:00AM-8:00AMエクストラマジックアワー12:00AM-3:00 AM

7パークアワー8:00AM-1:00AMエクストラマジックアワー7:00AM-8:00 AM

8パークアワー8:00AM〜12:00AMエクストラマジックアワー7:00AM〜8:00AMエクストラマジックアワー12:00AM〜3:00 AM

...。

于 2012-04-11T01:48:19.490 に答える