爬虫用find寻找标签,同时有a标签和span标签,怎么样同时取出来

img


这爬去大学排名,大学名字有的标签是a,有的是span,我想让他们两个并列该怎么写

“Devil组”引证GPT后的撰写:
用 find_all() 方法来同时查找这两种标签,然后对每个标签进行处理。以下是一个修改后的代码示例:

def fillUnivList(ulist, html):
    soup = BeautifulSoup(html, "html.parser")
    for tr in soup.find('tbody').children:
        if isinstance(tr, bs4.element.Tag):
            tds = tr('td')
            hdfd = tds[0].find('div')
            tt = hdfd.string.split()
            ff = "".join(tt)
            attr1 = tds[1].find('a')
            attr2 = tds[1].find('span')
            univ_name = ''
            if attr1:
                univ_name += attr1.string
            if attr2:
                univ_name += attr2.string
            hh = tds[3].string.split()
            hg = "".join(hh)
            ulist.append([ff, univ_name, hg])


用了 if 语句来判断 'a' 标签和 'span' 标签是否存在,并将其内容合并到一个字符串 univ_name 中。同时,还对变量名进行了修改,以更好地反映其含义。