在Python中使用Beautifulsoup查找<span>的内容

时间:2018-06-11 14:01:23

标签: python beautifulsoup

我试图找到Facebook上与Beautifulsoup共享报纸文章的次数。

这是页面:https://www.lemonde.fr/international/article/2018/06/10/isole-trump-est-parvenu-a-imposer-son-agenda-au-cours-d-un-g7-tendu_5312382_3210.html

以及html的内容:

<div class="fixed-header fixed-header-show">
    <div class="fixed-header-content">
        <a class="fixed-header-logo" href="/"></a>
        <div class="fixed-header-title">Isolé, Trump est parvenu à imposer son agenda au cours d’un G7 explosif</div>
        <div class="fixed-header-sharing-buttons">
            <div data-sharewith="facebook" data-xiti-label="Partage::Facebook::Isolé, Trump est parvenu à imposer son agenda au cours d’un G7 explosif::header">Partager<span class="fixed-header-facebook-likes-counter"> (142)</span></div>
            <div data-sharewith="twitter" data-xiti-label="Partage::Twitter::Isolé, Trump est parvenu à imposer son agenda au cours d’un G7 explosif::header">Tweeter</div>
            <div data-sharewith="google-plus" data-xiti-label="Partage::Google+::Isolé, Trump est parvenu à imposer son agenda au cours d’un G7 explosif::header"></div>
            <div data-sharewith="linkedin" data-xiti-label="Partage::Linkedin::Isolé, Trump est parvenu à imposer son agenda au cours d’un G7 explosif::header"></div>
            <div data-sharewith="pinterest" data-xiti-label="Partage::Pinterest::Isolé, Trump est parvenu à imposer son agenda au cours d’un G7 explosif::header"></div>
        </div>
    </div>
</div>

以下是我如何将字符串源检索为字符串:

    try:
        req = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
        response = urlopen(req,timeout=20)
    except:
        timeOut = True
        print(url,'timed out')

    if timeOut:
        return "timeOut",[]

    if 'text/html' in response.getheader('Content-Type') and not timeOut:
        htmlBytes = response.read()
        htmlString = htmlBytes.decode("utf-8")
        self.feed(htmlString)
        return htmlString, self.links
    else:
        return "",[]

我正在寻找&#34; (142)&#34;部分(这可能会在您查看它时在实际网页上发生变化),在:

<span class="fixed-header-facebook-likes-counter"> (142)</span>

以下是我尝试这样做的方法:

shares = BeautifulSoup(data, "lxml").find("span", {"class": "fixed-header-facebook-likes-counter"}).text

但它返回一个空字符串(有趣的是,不是&#34;无&#34;就像Beautifulsoup没有找到任何东西一样)。我在这里缺少什么?

0 个答案:

没有答案