首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法在python中使用漂亮的汤来解析div标签?

无法在python中使用漂亮的汤来解析div标签?
EN

Stack Overflow用户
提问于 2018-07-09 18:53:04
回答 1查看 1.2K关注 0票数 1

我正在学习如何使用美汤来解析html中的div容器。但是,由于某些原因,当我将div容器的类名传递给我美丽的汤时,什么也没有发生。当我试图解析div时,我没有得到任何元素。我能做错什么呢。这是我的html和语法分析。

                                  <div class="upcoming-date ng-hide no-league" ng-show="nav.upcoming" ng-class="{'no-league': !search.checkShowTitle(nav.sport,nav.todayHighlights,nav.upcoming,nav.orderBy,&quot;FOOTBALL - HIGHLIGHTS&quot;)}">
                        <span class="weekday">Monday</span>
                        <timecomponent datetime="'2018-07-09T20:00:00+03:00'" show-date="true" show-time="false" class="date ng-isolate-scope"><span class="ng-binding">09/07/18</span></timecomponent>
                        <div class="clear"></div>
                    </div>





            <div id="g1390856" class="match football FOOTBALL - HIGHLIGHTS" itemscope="" itemtype="https://schema.org/SportsEvent">
    <div class="leaguename ng-hide" ng-show="search.checkShowTitle(nav.sport,nav.todayHighlights,nav.upcoming,nav.orderBy,&quot;FOOTBALL - HIGHLIGHTS&quot;) &amp;&amp; (1 || (nav.upcoming &amp;&amp; 0))">
      <span class="name">
        <span class="flag-icon flag-icon-swe"></span>
          Sweden - Allsvenskan
      </span>
    </div>

    <ul class="meta">
        <li class="date">
            <timecomponent datetime="'2018-07-09T20:00:00+03:00'" show-date="true" show-time="false" class="ng-isolate-scope"><span class="ng-binding">09/07/18</span></timecomponent>
        </li>
        <li class="time">
            <timecomponent datetime="'2018-07-09T20:00:00+03:00'" show-date="false" show-time="true" class="ng-isolate-scope"><span class="ng-binding">20:00</span></timecomponent>
        </li>
        <li class="game-id"><span class="gameid">GameID:</span> 2087</li>
    </ul>
    <ul class="teams">
    <li>Hammarby</li>
    <li>Ostersunds</li>
</ul>
    <ul class="bet-selector">
        <li class="pick01" id="b499795664">
    <a data-id="499795664" ng-click="bets.pick($event, 499795664, 2087, 2.10)" class="betting-button pick-button " title="Hammarby">

                                        <span class="team">Hammarby</span>
                <span class="odd">2.10</span>
    </a>
</li>                    <li class="pick0X" id="b499795666">
    <a data-id="499795666" ng-click="bets.pick($event, 499795666, 2087, 3.56)" class="betting-button pick-button " title="Draw">
                                                <span class="team">Draw</span>
                <span class="odd">3.56</span>
    </a>
</li>                <li class="pick02" id="b499795668">
    <a data-id="499795668" ng-click="bets.pick($event, 499795668, 2087, 3.40)" class="betting-button pick-button " title="Ostersunds">

                                        <span class="team">Ostersunds</span>
                <span class="odd">3.40</span>
    </a>
</li>    </ul>
            <ul class="extra-picks">
                        <li>
                <a class="betting-button " href="/games/1390856/markets?league=0&amp;top=0&amp;sid=2087&amp;sportId=1">
                    <span class="short-desc">+13</span>
                    <span class="long-desc">View 13 more markets</span>
                </a>
            </li>
        </ul>
        <div class="game-stats">
                <a href="https://s5.sir.sportradar.com/sportpesa/en/match/13414729" onclick="window.open(this.href, 'newwindow', 'width=1024, height=800, resizable=yes, scrollbars=yes'); return false;"><img class="img-responsive" src="/img/chart-icon.png?v2.2.25.2"></a>
    </div>
    <div class="clear"></div>
</div>

.............................................................

parser.py

import requests
import urllib2
from bs4 import BeautifulSoup as soup
udata = urllib2.urlopen('https://www.sportpesa.co.ke/?sportId=1')
htmlsource = udata.read()
ssoup = soup(htmlsource,'html.parser')
page_div = ssoup.findAll("div",{"class":"match football FOOTBALL - HIGHLIGHTS"})

print page_div
EN

回答 1

Stack Overflow用户

发布于 2018-07-09 20:36:46

“足球比赛-亮点”是一个动态的类,所以你只会得到一个空白列表……下面是我用python3编写的代码

from bs4 import BeautifulSoup as bs4
import requests
request = requests.get('https://www.sportpesa.co.ke/?sportId=1')
soup = bs4(request.text, 'lxml')
print(soup)

打印完之后,你会发现这个类并没有出现在你的源代码中……我希望它能对你有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51243849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档