【问题标题】:Beautiful Soup Query with Multiple Attributes in PythonPython中具有多个属性的漂亮汤查询
【发布时间】:2012-04-11 01:13:13
【问题描述】:

我正在尝试查找 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'}) 找到所有日期,但这会给我网站内的所有日期。我尝试按照this 示例进行操作,但是我尝试的所有操作都给我留下了空白结果。这是我现在要找到的部分:

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

知道我哪里出错了吗?谢谢! 如果有人需要,这里是the site

【问题讨论】:

    标签: python beautifulsoup


    【解决方案1】:

    查看您发布的站点链接后,我发现每个月的日历实际上包含在名为“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 魔术时间12:00 AM - 3:00 AM

    2Park Hours8:00 AM - 1:00 AMExtra Magic Hours7:00 AM - 8:00 AM

    3Park Hours8:00 AM - 1:00 AMExtra Magic Hours7:00 AM - 8:00 AM

    4Park Hours8: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 魔术时间12:00 AM - 3:00 AM

    7Park Hours8:00 AM - 1:00 AMExtra Magic Hours7:00 AM - 8:00 AM

    8Park Hours8:00 AM - 12:00 AMExtra Magic Hours7:00 AM - 8:00 AMExtra 魔术时间12:00 AM - 3:00 AM

    ....

    【讨论】:

    • 知道如何单独提取这些项目,例如,将它们存储在字典中吗?
    • @westbyb 使用 RegEx 是我头顶上的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2020-03-15
    • 2017-08-24
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多