当前位置: 代码迷 >> python >> 标志前的文字
  详细解决方案

标志前的文字

热度:67   发布时间:2023-06-16 10:15:35.0

这是我的第一个BS编码实验。
我正在抓取的网站在
我遇到的问题是与此代码块:

<div class="cmg_team_name">
            ARST
            <span>101</span>
</div>  

这是我的代码:

import numpy as np
from bs4 import BeautifulSoup
import urllib2

url = "http://covers.com/Sports/NCAAF/Matchups?selectedDate=2015-10-13"
page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read(), 'html.parser')
universities = soup.find_all('div',{'class':'cmg_team_name'})

#for university in universities:
#    print university.contents
#    print "****************"
print universities[0]

我的问题是如何只访问span标志之前的文本。 在此示例中,我只需要ARST 我已经尝试过print universities[0].get_text()print universities[0].string产生None以及数组表示法。 我知道我将如何在C ++中做到这一点,但我假设python / BSoup可以在一行中完成这项工作……非常感谢!

您必须先从div中删除span,然后再清除多余的字符,例如空格和回车符。

for university in universities:
    span = [span.extract() for span in university('span')]
    univ = university.text.replace(' ','').replace('\r','').replace('\n','')
    print univ
  相关解决方案