python - BeautifulSoup 返回无

标签 python beautifulsoup

我有以下 html 代码,我使用 beautiful soup 来提取信息。我想获取例如关系状态:关系

<table class="box-content-list" cellspacing="0">
            <tbody>
             <tr class="first">
              <td>
                   <strong>
                    Relationship status:
                   </strong>
               Relationship
              </td>
             </tr>
             <tr class="alt">
              <td>
               <strong>
                Living:
              </strong>
               With partner
              </td>
             </tr>

我创建了以下代码:

xs = [x for x in soup.findAll('table', attrs = {'class':'box-content-list'})]       
    for x in xs:
        #print x
        sx = [s for s in x.findAll('tr',attrs={'class':'first'})]
        for s in sx:
            td_tabs = [td for td in s.findAll('td')]
            for td in td_tabs:
                title = td.findNext('strong')
                #print str(td)
                status = td.findNextSibling()
                print title.string
                print status

但是我得到的结果是Relations status: 并且打印状态是printing None。 我做错了什么?

最佳答案

有一个特殊的方法get_text(或旧BeautifulSoup版本中的getText)来获取复杂标签的内容。以你的例子:

>>> example.td.get_text(' ', strip=True)
'Relationship status: Relationship'

第一个参数是要使用的分隔符。

关于python - BeautifulSoup 返回无,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15968518/

相关文章:

python - BeautifulSoup:将标签(包含其他标签)拆分为两个字符串

python - 如何使用 python 获取设备的主机名、别名、IP 地址和规范名称(不要求库读取/etc/hosts)?

python - 如何在没有回溯的情况下退出 Python?

python - 如何使用Python3.6的tarfile模块读取内存?

python - 如何使用 python 和 re 匹配和删除维基百科引用

Python、BeautifulSoup - <div> 文本和 <img> 属性顺序正确

python - 无法使用 xpath 使用 selenium 选择元素

python - 计算其单元格为列表的 Pandas 数据框的平均值

python - 使用 beautifulsoup get_text()

python - 使用 bs4 进行 HTML 解析