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 中。

所以对于四月,你可以这样做:

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:00 AM - 12:00 AMExtra Magic Hours7:00 AM - 8:00 AMExtra Magic Hours12:00 AM - 3:00 AM

2公园营业时间8:00 AM - 1:00 AMExtra Magic Hours7:00 AM - 8:00 AM

3停车时间8:00 AM - 1:00 AMExtra Magic Hours7:00 AM - 8:00 AM

4停车时间8:00 AM - 1:00 AMExtra Magic Hours7:00 AM - 8:00 AM

5停车时间8:00 AM - 1:00 AMExtra Magic Hours7:00 AM - 8:00 AM

6停车时间8:00 AM - 12:00 AMExtra Magic Hours7:00 AM - 8:00 AMExtra Magic Hours12:00 AM - 3:00 AM

7停车时间8:00 AM - 1:00 AMExtra Magic Hours7:00 AM - 8:00 AM

8公园营业时间8:00 AM - 12:00 AMExtra Magic Hours7:00 AM - 8:00 AMExtra Magic Hours12:00 AM - 3:00 AM

……

于 2012-04-11T01:48:19.490 回答